@kitelev/exocortex-cli 13.207.27 → 13.207.28

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.js +6 -4
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- // @kitelev/exocortex-cli v13.207.27
2
+ // @kitelev/exocortex-cli v13.207.28
3
3
  // CLI tool for Exocortex knowledge management system - SPARQL queries, task management, and more
4
4
  // License: MIT
5
5
 
@@ -69,8 +69,10 @@ ${t}`;return e.trimEnd()+r}async archiveTask(e){let t=await this.vault.read(e),r
69
69
  `;if(!i)return`---${s}ems__Effort_votes: ${t}${s}---${s}${e}`;let c=i[1];return c.includes("ems__Effort_votes:")?c=c.replace(/ems__Effort_votes:.*$/m,`ems__Effort_votes: ${t}`):c+=`${s}ems__Effort_votes: ${t}`,e.replace(r,`---${s}${c}${s}---`)}};en.EffortVotingService=vp;en.EffortVotingService=vp=EO([(0,P2.injectable)(),AO(0,(0,P2.inject)(xO.DI_TOKENS.IVaultAdapter)),TO("design:paramtypes",[Object])],vp)});var bp=v(tn=>{"use strict";var CO=tn&&tn.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},OO=tn&&tn.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},DO=tn&&tn.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(tn,"__esModule",{value:!0});tn.FolderRepairService=void 0;var F2=Je(),IO=at(),_p=class{static{o(this,"FolderRepairService")}constructor(e){this.vault=e}async getExpectedFolder(e,t){let r=t?.exo__Asset_isDefinedBy;if(!r)return null;let i=this.extractReference(r);if(!i)return null;let s=this.vault.getFirstLinkpathDest(i,e.path);return s?this.getFileFolder(s):null}async repairFolder(e,t){let r=`${t}/${e.name}`;if(this.vault.getAbstractFileByPath(r))throw new Error(`Cannot move file: ${r} already exists`);await this.ensureFolderExists(t),await this.vault.rename(e,r)}getFileFolder(e){return e.parent?.path||""}extractReference(e){if(typeof e!="string")return null;let t=e.trim().replace(/^["']|["']$/g,"");return t=t.replace(/^\[\[|\]\]$/g,""),t||null}async ensureFolderExists(e){if(!e)return;let t=this.vault.getAbstractFileByPath(e);if(!(t&&"children"in t))try{await this.vault.createFolder(e)}catch(r){if(r instanceof Error&&r.message.includes("Folder already exists"))return;throw r}}};tn.FolderRepairService=_p;tn.FolderRepairService=_p=CO([(0,F2.injectable)(),DO(0,(0,F2.inject)(IO.DI_TOKENS.IVaultAdapter)),OO("design:paramtypes",[Object])],_p)});var Ep=v(rn=>{"use strict";var PO=rn&&rn.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},FO=rn&&rn.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},RO=rn&&rn.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(rn,"__esModule",{value:!0});rn.LabelToAliasService=void 0;var R2=Je(),NO=at(),Sp=class{static{o(this,"LabelToAliasService")}constructor(e){this.vault=e}async copyLabelToAliases(e){let t=await this.vault.read(e),r=this.extractLabel(t);if(!r)throw new Error("No exo__Asset_label found in file");let i=this.addLabelToAliases(t,r);await this.vault.modify(e,i)}extractLabel(e){let t=/^---\r?\n([\s\S]*?)\r?\n---/,r=e.match(t);if(!r)return null;let s=r[1].match(/exo__Asset_label:\s*["']?([^"'\r\n]+)["']?/);return s&&s[1]?s[1].trim():null}addLabelToAliases(e,t){let r=/^---\r?\n([\s\S]*?)\r?\n---/,i=e.match(r),s=e.includes(`\r
70
70
  `)?`\r
71
71
  `:`
72
- `;if(!i)return`---${s}aliases:${s} - "${t}"${s}---${s}${e}`;let c=i[1];return c.includes("aliases:")?c.match(/(aliases:\r?\n(?: {2}- .*\r?\n)*)/)&&(c=c.replace(/(aliases:\r?\n(?: {2}- .*\r?\n)*)/,`$1 - "${t}"${s}`)):c+=`${s}aliases:${s} - "${t}"`,e.replace(r,`---${s}${c}${s}---`)}};rn.LabelToAliasService=Sp;rn.LabelToAliasService=Sp=PO([(0,R2.injectable)(),RO(0,(0,R2.inject)(NO.DI_TOKENS.IVaultAdapter)),FO("design:paramtypes",[Object])],Sp)});var Tp=v(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});qu.LoggingService=void 0;var Ro=class{static{o(this,"LoggingService")}static setVerbose(e){this.isVerbose=e}static setDevelopmentMode(e){this.isDevelopment=e}static checkIsDevelopment(){return this.isDevelopment!==void 0?this.isDevelopment:typeof process<"u"?(this.isDevelopment=!1,this.isDevelopment):(this.isDevelopment=!1,this.isDevelopment)}static debug(e,t){this.isVerbose&&console.debug(`[Exocortex] ${e}`,t??"")}static info(e,t){console.log(`[Exocortex] ${e}`,t??"")}static warn(e,t){console.warn(`[Exocortex] ${e}`,t??"")}static error(e,t,r){let i=this.checkIsDevelopment(),s=r?` [${r}]`:"";i?(console.error(`[Exocortex ERROR]${s} ${e}`,t??""),t?.stack&&console.error(` Stack trace:
73
- ${t.stack}`)):(console.error(`[Exocortex ERROR]${s} ${e}`),t?.message&&console.error(` Details: ${t.message}`))}};qu.LoggingService=Ro;Ro.isVerbose=!1;Ro.isDevelopment=void 0});var Cp=v(nn=>{"use strict";var kO=nn&&nn.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},LO=nn&&nn.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},N2=nn&&nn.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(nn,"__esModule",{value:!0});nn.PropertyCleanupService=void 0;var Ap=Je(),k2=at(),xp=class{static{o(this,"PropertyCleanupService")}constructor(e,t){this.vault=e,this.logger=t,this.logger.debug("PropertyCleanupService initialized")}async cleanEmptyProperties(e){this.logger.debug("Cleaning empty properties",{path:e.path});let t=await this.vault.read(e),r=this.removeEmptyPropertiesFromContent(t);await this.vault.modify(e,r),this.logger.info("Empty properties cleaned",{path:e.path})}removeEmptyPropertiesFromContent(e){let t=/^---\n([\s\S]*?)\n---/,r=e.match(t);if(!r)return e;let s=r[1].split(`
72
+ `;if(!i)return`---${s}aliases:${s} - "${t}"${s}---${s}${e}`;let c=i[1];return c.includes("aliases:")?c.match(/(aliases:\r?\n(?: {2}- .*\r?\n)*)/)&&(c=c.replace(/(aliases:\r?\n(?: {2}- .*\r?\n)*)/,`$1 - "${t}"${s}`)):c+=`${s}aliases:${s} - "${t}"`,e.replace(r,`---${s}${c}${s}---`)}};rn.LabelToAliasService=Sp;rn.LabelToAliasService=Sp=PO([(0,R2.injectable)(),RO(0,(0,R2.inject)(NO.DI_TOKENS.IVaultAdapter)),FO("design:paramtypes",[Object])],Sp)});var Tp=v(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});qu.LoggingService=void 0;var Ro=class{static{o(this,"LoggingService")}static setVerbose(e){this.isVerbose=e}static setDevelopmentMode(e){this.isDevelopment=e}static checkIsDevelopment(){return this.isDevelopment!==void 0?this.isDevelopment:typeof process<"u"?(this.isDevelopment=!1,this.isDevelopment):(this.isDevelopment=!1,this.isDevelopment)}static debug(e,t){this.isVerbose&&console.debug(`[Exocortex] ${e}`,t??"")}static info(e,t){console.log(`[Exocortex] ${e}`,t??"")}static warn(e,t){console.warn(`[Exocortex] ${e}`,t??"")}static error(e,t,r){let i=this.checkIsDevelopment(),s=r?` [${r}]`:"";if(i){let a=t?.stack?`
73
+ Stack trace:
74
+ ${t.stack}`:"";console.error(`[Exocortex ERROR]${s} ${e}${a}`,t??"")}else{let a=t?.message?`
75
+ Details: ${t.message}`:"";console.error(`[Exocortex ERROR]${s} ${e}${a}`)}}};qu.LoggingService=Ro;Ro.isVerbose=!1;Ro.isDevelopment=void 0});var Cp=v(nn=>{"use strict";var kO=nn&&nn.__decorate||function(n,e,t,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,r);else for(var c=n.length-1;c>=0;c--)(a=n[c])&&(s=(i<3?a(s):i>3?a(e,t,s):a(e,t))||s);return i>3&&s&&Object.defineProperty(e,t,s),s},LO=nn&&nn.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},N2=nn&&nn.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(nn,"__esModule",{value:!0});nn.PropertyCleanupService=void 0;var Ap=Je(),k2=at(),xp=class{static{o(this,"PropertyCleanupService")}constructor(e,t){this.vault=e,this.logger=t,this.logger.debug("PropertyCleanupService initialized")}async cleanEmptyProperties(e){this.logger.debug("Cleaning empty properties",{path:e.path});let t=await this.vault.read(e),r=this.removeEmptyPropertiesFromContent(t);await this.vault.modify(e,r),this.logger.info("Empty properties cleaned",{path:e.path})}removeEmptyPropertiesFromContent(e){let t=/^---\n([\s\S]*?)\n---/,r=e.match(t);if(!r)return e;let s=r[1].split(`
74
76
  `),a=[],c=0;for(;c<s.length;){let l=s[c],f=l.trim();if(f===""){a.push(l),c++;continue}let h=f.match(/^([^:]+):\s*(.*)$/);if(h){let d=h[2];if(d===""&&c+1<s.length&&s[c+1].match(/^\s+- /)){let _=[],b=c+1;for(;b<s.length&&s[b].match(/^\s+- /);)_.push(s[b]),b++;if(_.every(O=>{let I=O.replace(/^\s+- /,"").trim();return this.isEmptyValue(I)})){c=b;continue}else{a.push(l);for(let O=c+1;O<b;O++)a.push(s[O]);c=b;continue}}if(this.isEmptyValue(d)){c++;continue}a.push(l),c++}else f.match(/^\s*- /)||a.push(l),c++}let u=a.join(`
75
77
  `);return e.replace(t,`---
76
78
  ${u}
@@ -297,7 +299,7 @@ globstar while`,e,d,t,m,_),this.matchOne(e.slice(d),t.slice(m),r))return this.de
297
299
  \u{1F4CB} Failed Files:`);for(let t of e.results.filter(r=>!r.success))console.log(` \u274C ${t.filepath}: ${t.error}`)}if(e.movedCount>0&&n==="text"){console.log(`
298
300
  \u{1F4CB} Moved Files:`);for(let t of e.results.filter(r=>r.success&&r.changes?.moved))console.log(` \u{1F4C1} ${t.filepath} \u2192 ${t.changes?.newPath}`)}}}o(X7,"outputResult");function FS(){return new _r("batch-repair").description("Batch repair folder locations for all markdown files in a directory").argument("<directory>","Directory to process (relative to vault root)").option("--vault <path>","Path to Obsidian vault",process.cwd()).option("--dry-run","Preview changes without modifying files").option("--format <type>","Output format: text|json (default: text)","text").option("--progress","Show progress during processing (default: true)",!0).option("--no-progress","Disable progress output").action(async(n,e)=>{let t=e.format||"text";ye.setFormat(t);try{let r=(0,PS.resolve)(e.vault),i=new Wi(r),s=n;if(!await i.directoryExists(s))throw new rt(`Directory not found: ${s}`,"exocortex batch-repair <existing-directory>");let c=await i.getMarkdownFiles(s);if(c.length===0){if(t==="json"){let O=lt.success({success:!0,total:0,movedCount:0,alreadyCorrectCount:0,errorCount:0,results:[],durationMs:0,atomic:!1});console.log(JSON.stringify(O,null,2))}else console.log(`
299
301
  \u{1F4C2} No markdown files found in ${s}`);process.exit(0)}let u=c.map(O=>({command:"repair-folder",filepath:O})),l=e.progress!==!1&&t==="text",f=0;l&&console.log(`
300
- \u{1F50D} Processing ${c.length} files in ${s}...`);let d=await new Vs(r,e.dryRun).executeBatch(u,!1),m=0,_=0,b=0;for(let O of d.results)if(O.success?O.changes?.moved?m++:_++:b++,l&&!e.dryRun){f++;let I=Math.round(f/c.length*100);process.stdout.write(`\r Processing ${f}/${c.length} (${I}%)...`)}l&&process.stdout.write("\r"+" ".repeat(60)+"\r");let C={...d,movedCount:m,alreadyCorrectCount:_,errorCount:b};X7(t,C),process.exit(C.success?0:5)}catch(r){ye.handle(r)}})}o(FS,"batchRepairCommand");var Wf=require("fs"),Sn=require("path");function RS(){return new _r("resolve").description("Resolve UUID to file path").argument("<uuid>","Full or partial UUID to resolve").option("--vault <path>","Path to Obsidian vault",process.cwd()).option("--format <type>","Output format: uri|path|json (default: uri)","uri").option("--output <type>","Response format: text|json (for MCP tools)","text").option("--partial","Match partial UUIDs (returns all matches)").action(async(n,e)=>{let t=e.output||"text";ye.setFormat(t);try{let r=Date.now();if(!J7(n))throw new rt(`Invalid UUID format: ${n}`,"exocortex resolve <uuid> [--format uri|path|json] [--partial]",{uuid:n});let i=(0,Sn.resolve)(e.vault);if(!(0,Wf.existsSync)(i))throw new hi(i);let s=Z7(i,n,e.partial??!1),a=Date.now()-r;if(s.length===0){if(t==="json"){let c=lt.error("VALIDATION_FILE_NOT_FOUND",`UUID not found: ${n}`,3,{context:{uuid:n}});console.log(JSON.stringify(c,null,2))}else console.error(`UUID not found: ${n}`);process.exit(1)}e.partial||s.length>1?tN(s,i,e.format,t,n,a):eN(s[0],i,e.format,t,n,a)}catch(r){ye.handle(r)}})}o(RS,"resolveCommand");function J7(n){if(n.length<4)return!1;let e=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,t=/^[0-9a-f-]+$/i;return e.test(n)||t.test(n)}o(J7,"isValidUuidFormat");function Z7(n,e,t){let r=[],i=e.toLowerCase();function s(a){let c=(0,Wf.readdirSync)(a,{withFileTypes:!0});for(let u of c){let l=(0,Sn.join)(a,u.name);if(u.isDirectory())!u.name.startsWith(".")&&u.name!=="node_modules"&&s(l);else if(u.isFile()&&u.name.endsWith(".md")){let f=u.name.toLowerCase();t?f.includes(i)&&r.push(l):(f.startsWith(i+".md")||f.startsWith(i+" ")||f.startsWith(i+"-"))&&r.push(l)}}}return o(s,"walk"),s(n),r}o(Z7,"findFilesWithUuid");function NS(n){return`obsidian://vault/${encodeURI(n)}`}o(NS,"pathToObsidianUri");function kS(n){let e=n.match(/^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/i);return e?e[1]:(0,Sn.basename)(n,".md")}o(kS,"extractUuidFromFilename");function eN(n,e,t,r,i,s){let a=(0,Sn.relative)(e,n),c=NS(a),u=kS((0,Sn.basename)(n));if(r==="json"){let l={uuid:u,path:a,absolutePath:n,uri:c},f=lt.success(l,{durationMs:s,searchUuid:i});console.log(JSON.stringify(f,null,2))}else switch(t){case"path":console.log(n);break;case"json":console.log(JSON.stringify({uuid:u,path:a,absolutePath:n,uri:c},null,2));break;case"uri":default:console.log(c);break}}o(eN,"outputSingleResult");function tN(n,e,t,r,i,s){let a=n.map(c=>{let u=(0,Sn.relative)(e,c),l=NS(u);return{uuid:kS((0,Sn.basename)(c)),path:u,absolutePath:c,uri:l}});if(r==="json"){let c=lt.success({matches:a,count:a.length},{durationMs:s,searchUuid:i,itemCount:a.length});console.log(JSON.stringify(c,null,2))}else switch(t){case"path":for(let c of a)console.log(c.absolutePath);break;case"json":console.log(JSON.stringify(a,null,2));break;case"uri":default:for(let c of a)console.log(c.uri);break}}o(tN,"outputMultipleResults");var Hi=new _r;Hi.name("exocortex").description("CLI tool for Exocortex knowledge management system").version("13.207.27");Hi.command("sparql").description("SPARQL query execution").addCommand(wb());Hi.addCommand(xS());Hi.addCommand(DS());Hi.addCommand(IS());Hi.addCommand(FS());Hi.addCommand(RS());Hi.parse();
302
+ \u{1F50D} Processing ${c.length} files in ${s}...`);let d=await new Vs(r,e.dryRun).executeBatch(u,!1),m=0,_=0,b=0;for(let O of d.results)if(O.success?O.changes?.moved?m++:_++:b++,l&&!e.dryRun){f++;let I=Math.round(f/c.length*100);process.stdout.write(`\r Processing ${f}/${c.length} (${I}%)...`)}l&&process.stdout.write("\r"+" ".repeat(60)+"\r");let C={...d,movedCount:m,alreadyCorrectCount:_,errorCount:b};X7(t,C),process.exit(C.success?0:5)}catch(r){ye.handle(r)}})}o(FS,"batchRepairCommand");var Wf=require("fs"),Sn=require("path");function RS(){return new _r("resolve").description("Resolve UUID to file path").argument("<uuid>","Full or partial UUID to resolve").option("--vault <path>","Path to Obsidian vault",process.cwd()).option("--format <type>","Output format: uri|path|json (default: uri)","uri").option("--output <type>","Response format: text|json (for MCP tools)","text").option("--partial","Match partial UUIDs (returns all matches)").action(async(n,e)=>{let t=e.output||"text";ye.setFormat(t);try{let r=Date.now();if(!J7(n))throw new rt(`Invalid UUID format: ${n}`,"exocortex resolve <uuid> [--format uri|path|json] [--partial]",{uuid:n});let i=(0,Sn.resolve)(e.vault);if(!(0,Wf.existsSync)(i))throw new hi(i);let s=Z7(i,n,e.partial??!1),a=Date.now()-r;if(s.length===0){if(t==="json"){let c=lt.error("VALIDATION_FILE_NOT_FOUND",`UUID not found: ${n}`,3,{context:{uuid:n}});console.log(JSON.stringify(c,null,2))}else console.error(`UUID not found: ${n}`);process.exit(1)}e.partial||s.length>1?tN(s,i,e.format,t,n,a):eN(s[0],i,e.format,t,n,a)}catch(r){ye.handle(r)}})}o(RS,"resolveCommand");function J7(n){if(n.length<4)return!1;let e=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,t=/^[0-9a-f-]+$/i;return e.test(n)||t.test(n)}o(J7,"isValidUuidFormat");function Z7(n,e,t){let r=[],i=e.toLowerCase();function s(a){let c=(0,Wf.readdirSync)(a,{withFileTypes:!0});for(let u of c){let l=(0,Sn.join)(a,u.name);if(u.isDirectory())!u.name.startsWith(".")&&u.name!=="node_modules"&&s(l);else if(u.isFile()&&u.name.endsWith(".md")){let f=u.name.toLowerCase();t?f.includes(i)&&r.push(l):(f.startsWith(i+".md")||f.startsWith(i+" ")||f.startsWith(i+"-"))&&r.push(l)}}}return o(s,"walk"),s(n),r}o(Z7,"findFilesWithUuid");function NS(n){return`obsidian://vault/${encodeURI(n)}`}o(NS,"pathToObsidianUri");function kS(n){let e=n.match(/^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/i);return e?e[1]:(0,Sn.basename)(n,".md")}o(kS,"extractUuidFromFilename");function eN(n,e,t,r,i,s){let a=(0,Sn.relative)(e,n),c=NS(a),u=kS((0,Sn.basename)(n));if(r==="json"){let l={uuid:u,path:a,absolutePath:n,uri:c},f=lt.success(l,{durationMs:s,searchUuid:i});console.log(JSON.stringify(f,null,2))}else switch(t){case"path":console.log(n);break;case"json":console.log(JSON.stringify({uuid:u,path:a,absolutePath:n,uri:c},null,2));break;case"uri":default:console.log(c);break}}o(eN,"outputSingleResult");function tN(n,e,t,r,i,s){let a=n.map(c=>{let u=(0,Sn.relative)(e,c),l=NS(u);return{uuid:kS((0,Sn.basename)(c)),path:u,absolutePath:c,uri:l}});if(r==="json"){let c=lt.success({matches:a,count:a.length},{durationMs:s,searchUuid:i,itemCount:a.length});console.log(JSON.stringify(c,null,2))}else switch(t){case"path":for(let c of a)console.log(c.absolutePath);break;case"json":console.log(JSON.stringify(a,null,2));break;case"uri":default:for(let c of a)console.log(c.uri);break}}o(tN,"outputMultipleResults");var Hi=new _r;Hi.name("exocortex").description("CLI tool for Exocortex knowledge management system").version("13.207.28");Hi.command("sparql").description("SPARQL query execution").addCommand(wb());Hi.addCommand(xS());Hi.addCommand(DS());Hi.addCommand(IS());Hi.addCommand(FS());Hi.addCommand(RS());Hi.parse();
301
303
  /*! Bundled license information:
302
304
 
303
305
  reflect-metadata/Reflect.js:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitelev/exocortex-cli",
3
- "version": "13.207.27",
3
+ "version": "13.207.28",
4
4
  "description": "CLI tool for Exocortex knowledge management system - SPARQL queries, task management, and more",
5
5
  "main": "dist/index.js",
6
6
  "bin": {