@kitelev/exocortex-cli 15.45.0 → 15.45.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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.45.
|
|
2
|
+
// @kitelev/exocortex-cli v15.45.1
|
|
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 @@ ${hr.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,Rc.resolve)(t.vault);if(!(0,ps.existsSync)(i))throw new Be(i);let s=xI(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 mi.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(AI,"workflowCommand");var CI=new mi.FrontmatterService;function II(n){let e=[];return OI(n,n,e),e}o(II,"scanWorkflows");function OI(n,e,t){let r;try{r=(0,ps.readdirSync)(n,{withFileTypes:!0})}catch{return}for(let i of r){let s=(0,Rc.join)(n,i.name);if(i.isDirectory()){if(i.name.startsWith(".")||i.name==="node_modules")continue;OI(s,e,t)}else if(i.name.endsWith(".md")){let a=ZU(s);a&&t.push(a)}}}o(OI,"scanDirectory");function ZU(n){try{let e=(0,ps.readFileSync)(n,"utf-8"),t=CI.parse(e);if(!t.exists)return null;let r=RI(t.content),i=r.exo__Instance_class;if(!i||!(Array.isArray(i)?i.some(d=>d.includes("ems__Workflow")&&!d.includes("WorkflowState")&&!d.includes("WorkflowTransition")):typeof i=="string"&&i.includes("ems__Workflow")&&!i.includes("WorkflowState")&&!i.includes("WorkflowTransition")))return null;let a=r.exo__Asset_uid??"",c=r.exo__Asset_label??eB(n),l=Hs(r.ems__Workflow_targetClass??"ems__Task"),u=r.ems__Workflow_isDefault===!0||r.ems__Workflow_isDefault==="true",f=Array.isArray(r.ems__Workflow_states)?r.ems__Workflow_states.length:0,h=Array.isArray(r.ems__Workflow_transitions)?r.ems__Workflow_transitions.length:0;return{filePath:n,uid:a,label:c,targetClass:l,isDefault:u,stateCount:f,transitionCount:h}}catch{return null}}o(ZU,"tryParseWorkflowFile");function xI(n,e){let r=II(n).find(i=>i.uid===e);if(!r)return null;try{let i=(0,ps.readFileSync)(r.filePath,"utf-8"),s=CI.parse(i);if(!s.exists)return null;let a=RI(s.content),c=Hs(a.ems__Workflow_targetClass??"ems__Task"),l=Hs(a.ems__Workflow_initialState??"ems__EffortStatusDraft"),u=Oc(l)??mi.EffortStatus.DRAFT,h=(Array.isArray(a.ems__Workflow_terminalStates)?a.ems__Workflow_terminalStates.map(S=>Hs(S)):[]).map(Oc).filter(S=>S!==null),d=a.ems__Workflow_isDefault===!0||a.ems__Workflow_isDefault==="true",y=(Array.isArray(a.ems__Workflow_states)?a.ems__Workflow_states:[]).map((S,A)=>typeof S=="string"?{status:Oc(Hs(S))??mi.EffortStatus.DRAFT,order:A+1,optional:!1,timestampOnEnter:[]}:{status:Oc(Hs(S.status??""))??mi.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=Oc(Hs(S.from??"")),F=Oc(Hs(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:y,transitions:T,initialState:u,terminalStates:h.length>0?h:[mi.EffortStatus.DONE,mi.EffortStatus.TRASHED],isDefault:d}}catch{return null}}o(xI,"loadWorkflowByUid");function RI(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(RI,"parseYamlFrontmatter");function Hs(n){return typeof n!="string"?"":n.replace(/["'[\]]/g,"").trim()}o(Hs,"normalizeWikilink");function eB(n){let e=n.split("/");return e[e.length-1].replace(/\.md$/,"")}o(eB,"extractLabelFromFilename");function Oc(n){return Object.values(mi.EffortStatus).includes(n)?n:null}o(Oc,"resolveEffortStatus");var Rr=new Ge;Rr.name("exocortex").description("CLI tool for Exocortex knowledge management system").version("15.45.
|
|
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(RI,"parseYamlFrontmatter");function Hs(n){return typeof n!="string"?"":n.replace(/["'[\]]/g,"").trim()}o(Hs,"normalizeWikilink");function eB(n){let e=n.split("/");return e[e.length-1].replace(/\.md$/,"")}o(eB,"extractLabelFromFilename");function Oc(n){return Object.values(mi.EffortStatus).includes(n)?n:null}o(Oc,"resolveEffortStatus");var Rr=new Ge;Rr.name("exocortex").description("CLI tool for Exocortex knowledge management system").version("15.45.1");var Vv=Rr.command("sparql").description("SPARQL query execution and cache management");Vv.addCommand(NA());Vv.addCommand(jA());Vv.addCommand($A());Rr.addCommand(zC());Rr.addCommand(KC());Rr.addCommand(XC());Rr.addCommand(ZC());Rr.addCommand(eI());Rr.addCommand(sI());Rr.addCommand(lI());Rr.addCommand(hI());Rr.addCommand(mI());Rr.addCommand(wI());Rr.addCommand(EI());Rr.addCommand(TI());Rr.addCommand(AI());Rr.parse();
|
|
639
639
|
/*! Bundled license information:
|
|
640
640
|
|
|
641
641
|
reflect-metadata/Reflect.js:
|