@kitelev/exocortex-cli 15.52.0 → 15.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -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 v15.
|
|
2
|
+
// @kitelev/exocortex-cli v15.53.0
|
|
3
3
|
// CLI tool for Exocortex knowledge management system - SPARQL queries, task management, and more
|
|
4
4
|
// License: MIT
|
|
5
5
|
|
|
@@ -635,7 +635,7 @@ ${mr.dump(i,{lineWidth:-1})}---
|
|
|
635
635
|
States (${s.states.length}):`);for(let a of s.states){let c=a.optional?" (optional)":"",l=a.timestampOnEnter.length>0?` [timestamps: ${a.timestampOnEnter.join(", ")}]`:"";console.log(` ${a.order}. ${a.status}${c}${l}`)}console.log(`
|
|
636
636
|
Transitions (${s.transitions.length}):`);for(let a of s.transitions){let c=a.isRollback?" (rollback)":"";console.log(` ${a.label}: ${a.from} \u2192 ${a.to}${c}`)}}}catch(i){V.handle(i)}}),n.command("validate").description("Validate a workflow definition").argument("<uid>","UID of the workflow asset").option("--vault <path>","Path to Obsidian vault",process.cwd()).option("--output <type>","Response format: text|json","text").action(async(e,t)=>{let r=t.output||"text";V.setFormat(r);try{let i=(0,Wc.resolve)(t.vault);if(!(0,As.existsSync)(i))throw new qe(i);let s=lO(i,e);if(!s){if(r==="json"){let l=ce.success({error:`Workflow with UID "${e}" not found`});console.log(JSON.stringify(l,null,2))}else console.log(`\u274C Workflow with UID "${e}" not found.`);process.exitCode=1;return}let c=new vi.WorkflowEngine(s).validate();if(r==="json"){let l=ce.success({workflow:s.name,uid:s.id,...c});console.log(JSON.stringify(l,null,2))}else if(c.valid)console.log(`\u2705 Workflow "${s.name}" is valid.`);else{console.log(`\u274C Workflow "${s.name}" has ${c.errors.length} error(s):
|
|
637
637
|
`);for(let l of c.errors)console.log(` \u2022 ${l}`);process.exitCode=1}}catch(i){V.handle(i)}}),n}o(uO,"workflowCommand");var fO=new vi.FrontmatterService;function hO(n){let e=[],t=[];dO(n,t);for(let{filePath:r,fm:i}of t){let s=i.exo__Instance_class;if(!s||!(Array.isArray(s)?s.some(p=>p.includes("ems__Workflow")&&!p.includes("WorkflowState")&&!p.includes("WorkflowTransition")):typeof s=="string"&&s.includes("ems__Workflow")&&!s.includes("WorkflowState")&&!s.includes("WorkflowTransition")))continue;let c=i.exo__Asset_uid??"",l=i.exo__Asset_label??Aq(r),u=Ts(i.ems__Workflow_targetClass??"ems__Task"),f=i.ems__Workflow_isDefault===!0||i.ems__Workflow_isDefault==="true",h=0,d=0;for(let{fm:p}of t){let v=p.exo__Instance_class;if(!Ts(p.ems__WorkflowState_workflow??p.ems__WorkflowTransition_workflow??"").includes(c))continue;let S=Array.isArray(v)?v.some(F=>F.includes("ems__WorkflowState")):typeof v=="string"&&v.includes("ems__WorkflowState"),A=Array.isArray(v)?v.some(F=>F.includes("ems__WorkflowTransition")):typeof v=="string"&&v.includes("ems__WorkflowTransition");S&&h++,A&&d++}e.push({filePath:r,uid:c,label:l,targetClass:u,isDefault:f,stateCount:h,transitionCount:d})}return e}o(hO,"scanWorkflows");function dO(n,e){let t;try{t=(0,As.readdirSync)(n,{withFileTypes:!0})}catch{return}for(let r of t){let i=(0,Wc.join)(n,r.name);if(r.isDirectory()){if(r.name.startsWith(".")||r.name==="node_modules")continue;dO(i,e)}else if(r.name.endsWith(".md"))try{let s=(0,As.readFileSync)(i,"utf-8"),a=fO.parse(s);a.exists&&e.push({filePath:i,fm:pO(a.content)})}catch{}}}o(dO,"collectParsedFiles");function lO(n,e){let r=hO(n).find(i=>i.uid===e);if(!r)return null;try{let i=(0,As.readFileSync)(r.filePath,"utf-8"),s=fO.parse(i);if(!s.exists)return null;let a=pO(s.content),c=Ts(a.ems__Workflow_targetClass??"ems__Task"),l=Ts(a.ems__Workflow_initialState??"ems__EffortStatusDraft"),u=qc(l)??vi.EffortStatus.DRAFT,h=(Array.isArray(a.ems__Workflow_terminalStates)?a.ems__Workflow_terminalStates.map(S=>Ts(S)):[]).map(qc).filter(S=>S!==null),d=a.ems__Workflow_isDefault===!0||a.ems__Workflow_isDefault==="true",v=(Array.isArray(a.ems__Workflow_states)?a.ems__Workflow_states:[]).map((S,A)=>typeof S=="string"?{status:qc(Ts(S))??vi.EffortStatus.DRAFT,order:A+1,optional:!1,timestampOnEnter:[]}:{status:qc(Ts(S.status??""))??vi.EffortStatus.DRAFT,order:S.order??A+1,optional:S.optional===!0||S.optional==="true",timestampOnEnter:Array.isArray(S.timestampOnEnter)?S.timestampOnEnter:[],badgeColor:S.badgeColor}),T=(Array.isArray(a.ems__Workflow_transitions)?a.ems__Workflow_transitions:[]).map(S=>{let A=qc(Ts(S.from??"")),F=qc(Ts(S.to??""));return!A||!F?null:{from:A,to:F,label:S.label??`${A} \u2192 ${F}`,icon:S.icon,isRollback:S.isRollback===!0||S.isRollback==="true"}}).filter(S=>S!==null);return{id:e,name:r.label,targetClass:c,states:v,transitions:T,initialState:u,terminalStates:h.length>0?h:[vi.EffortStatus.DONE,vi.EffortStatus.TRASHED],isDefault:d}}catch{return null}}o(lO,"loadWorkflowByUid");function pO(n){let e={},t=n.split(`
|
|
638
|
-
`),r="",i=null;for(let s of t){if(s.match(/^\s+-\s+/)&&r){let c=s.replace(/^\s+-\s+/,"").trim();i||(i=[]),i.push(c),e[r]=i;continue}let a=s.match(/^([a-zA-Z0-9_]+):\s*(.*)/);if(a){r=a[1],i=null;let c=a[2].trim();if((c.startsWith('"')&&c.endsWith('"')||c.startsWith("'")&&c.endsWith("'"))&&(c=c.slice(1,-1)),c==="true"?c=!0:c==="false"&&(c=!1),c===""){e[r]=[],i=e[r];continue}e[r]=c}}return e}o(pO,"parseYamlFrontmatter");function Ts(n){return typeof n!="string"?"":n.replace(/["'[\]]/g,"").trim()}o(Ts,"normalizeWikilink");function Aq(n){let e=n.split("/");return e[e.length-1].replace(/\.md$/,"")}o(Aq,"extractLabelFromFilename");function qc(n){return Object.values(vi.EffortStatus).includes(n)?n:null}o(qc,"resolveEffortStatus");var Dr=new He;Dr.name("exocortex").description("CLI tool for Exocortex knowledge management system").version("15.
|
|
638
|
+
`),r="",i=null;for(let s of t){if(s.match(/^\s+-\s+/)&&r){let c=s.replace(/^\s+-\s+/,"").trim();i||(i=[]),i.push(c),e[r]=i;continue}let a=s.match(/^([a-zA-Z0-9_]+):\s*(.*)/);if(a){r=a[1],i=null;let c=a[2].trim();if((c.startsWith('"')&&c.endsWith('"')||c.startsWith("'")&&c.endsWith("'"))&&(c=c.slice(1,-1)),c==="true"?c=!0:c==="false"&&(c=!1),c===""){e[r]=[],i=e[r];continue}e[r]=c}}return e}o(pO,"parseYamlFrontmatter");function Ts(n){return typeof n!="string"?"":n.replace(/["'[\]]/g,"").trim()}o(Ts,"normalizeWikilink");function Aq(n){let e=n.split("/");return e[e.length-1].replace(/\.md$/,"")}o(Aq,"extractLabelFromFilename");function qc(n){return Object.values(vi.EffortStatus).includes(n)?n:null}o(qc,"resolveEffortStatus");var Dr=new He;Dr.name("exocortex").description("CLI tool for Exocortex knowledge management system").version("15.53.0");var v_=Dr.command("sparql").description("SPARQL query execution and cache management");v_.addCommand(vC());v_.addCommand(SC());v_.addCommand(EC());Dr.addCommand(RP());Dr.addCommand(NP());Dr.addCommand(kP());Dr.addCommand(MP());Dr.addCommand(jP());Dr.addCommand(qP());Dr.addCommand(zP());Dr.addCommand(XP());Dr.addCommand(ZP());Dr.addCommand(iO());Dr.addCommand(oO());Dr.addCommand(cO());Dr.addCommand(uO());Dr.parse();
|
|
639
639
|
/*! Bundled license information:
|
|
640
640
|
|
|
641
641
|
reflect-metadata/Reflect.js:
|