@kitelev/exocortex-cli 16.6.1 → 16.6.3

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 +4 -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 v16.6.1
2
+ // @kitelev/exocortex-cli v16.6.3
3
3
  // CLI tool for Exocortex knowledge management system - SPARQL queries, task management, and more
4
4
  // License: MIT
5
5
 
@@ -372,7 +372,7 @@ LIMIT ${this.config.defaultLimit}`,s="\u041D\u0435 \u0443\u0434\u0430\u043B\u043
372
372
  `,i=this.composePrefixes(t),s=this.serializePrefixes(i,r),a=this.nTriplesSerializer.serialize(e,{newline:r}).trimEnd();return s?a?`${s}${r}${r}${a}${r}`:`${s}${r}`:a?`${a}${r}`:""}serializePrefixes(e,t){let r=Object.entries(e);return r.length===0?"":r.map(([i,s])=>`@prefix ${i}: <${s}> .`).join(t)}composePrefixes(e){return e.includeDefaultPrefixes??!0?{...$7,...e.prefixes??{}}:{...e.prefixes??{}}}serializeTriplesOnly(e,t){return this.nTriplesSerializer.serializeChunk(e,t).trimEnd()}};jp.TurtleSerializer=Jb});var JA=b(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});Mp.JSONLDSerializer=void 0;var YA=Ae(),XA=$t(),V7=ke(),nl=gr(),B7={rdf:nl.Namespace.RDF.iri.value,rdfs:nl.Namespace.RDFS.iri.value,owl:nl.Namespace.OWL.iri.value,xsd:nl.Namespace.XSD.iri.value,exo:nl.Namespace.EXO.iri.value,ems:nl.Namespace.EMS.iri.value},Zb=class{static{o(this,"JSONLDSerializer")}toDocument(e,t={}){let r={...B7,...t.context??{}},i=new Map;for(let s of e){let a=this.subjectToId(s.subject),c=this.compactIri(s.predicate.value,r),l=this.objectToJSONLD(s.object,r),u=i.get(a)??{"@id":a},f=u[c];f===void 0?u[c]=l:Array.isArray(f)?f.push(l):u[c]=[f,l],i.set(a,u)}return{"@context":r,"@graph":Array.from(i.values())}}serialize(e,t={}){let r=this.toDocument(e,t),i=t.pretty?t.indent??2:void 0;return JSON.stringify(r,null,i)}subjectToId(e){return e instanceof YA.IRI?e.value:e instanceof XA.BlankNode?`_:${e.id}`:String(e)}compactIri(e,t){for(let[r,i]of Object.entries(t))if(e.startsWith(i)){let s=e.slice(i.length);if(s.length>0)return`${r}:${s}`}return e}objectToJSONLD(e,t){if(e instanceof YA.IRI)return{"@id":e.value};if(e instanceof XA.BlankNode)return{"@id":`_:${e.id}`};if(e instanceof V7.Literal){let r={"@value":e.value};return e.datatype?r["@type"]=this.compactIri(e.datatype.value,t):e.language&&(r["@language"]=e.language,e.hasDirection()&&e.direction&&(r["@direction"]=e.direction)),r}return e}};Mp.JSONLDSerializer=Zb});var rS=b($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.NTriplesParser=void 0;var U7=Qn(),ZA=Ae(),eS=ke(),q7=$t(),il=gr(),W7={rdf:il.Namespace.RDF.iri.value,rdfs:il.Namespace.RDFS.iri.value,owl:il.Namespace.OWL.iri.value,xsd:il.Namespace.XSD.iri.value,exo:il.Namespace.EXO.iri.value,ems:il.Namespace.EMS.iri.value},tS=class{static{o(this,"NTriplesParser")}parse(e,t={}){let r={prefixes:{...W7,...t.prefixes??{}},strict:t.strict??!1},i=[];return e.split(/\r?\n/).forEach((a,c)=>{let l=a.trim();!l||l.startsWith("#")||i.push(this.parseLine(l,c+1,r))}),i}parseLine(e,t,r){if(!e.endsWith("."))throw new Error(`Invalid RDF statement at line ${t}: missing '.' terminator`);let s=e.slice(0,-1).trim(),a=this.parseSubject(s,t,r);s=a.rest.trim();let c=this.parsePredicate(s,t,r);s=c.rest.trim();let l=this.parseObject(s,t,r);if(s=l.rest.trim(),s.length>0)throw new Error(`Unexpected tokens after object at line ${t}`);return new U7.Triple(a.node,c.node,l.node)}parseSubject(e,t,r){return e.startsWith("<")?this.consumeIRI(e,t,r):e.startsWith("_:")?this.consumeBlankNode(e,t):this.consumePrefixedName(e,t,r)}parsePredicate(e,t,r){return e.startsWith("<")?this.consumeIRI(e,t,r):this.consumePrefixedName(e,t,r)}parseObject(e,t,r){return e.startsWith("<")?this.consumeIRI(e,t,r):e.startsWith("_:")?this.consumeBlankNode(e,t):e.startsWith('"')?this.consumeLiteral(e,t,r):this.consumePrefixedName(e,t,r)}consumePrefixedName(e,t,r){let i=e.match(/^([a-zA-Z_][\w-]*):([^\s]+)(?:\s+(.*))?$/);if(!i)throw new Error(`Invalid token at line ${t}: ${e}`);let[,s,a,c]=i,l=r.prefixes[s];if(!l)throw new Error(`Unknown prefix "${s}" at line ${t}`);return{node:new ZA.IRI(`${l}${a}`),rest:(c??"").trimStart()}}consumeIRI(e,t,r){let i=this.findClosingBracket(e,"<",">");if(i===-1)throw new Error(`Invalid IRI at line ${t}`);let s=e.slice(1,i),a=new ZA.IRI(s),c=e.slice(i+1).trimStart();return{node:a,rest:c}}consumeBlankNode(e,t){let r=e.match(/^_:(\w+)(?:\s+(.*))?$/);if(!r)throw new Error(`Invalid blank node identifier at line ${t}`);let[,i,s]=r;return{node:new q7.BlankNode(i),rest:(s??"").trimStart()}}consumeLiteral(e,t,r){let{value:i,rest:s}=this.consumeQuotedString(e,t),a=s.trimStart();if(a.startsWith("^^")){a=a.slice(2).trimStart();let c=a.startsWith("<")?this.consumeIRI(a,t,r):this.consumePrefixedName(a,t,r);return{node:new eS.Literal(i,c.node),rest:c.rest}}if(a.startsWith("@")){let c=a.match(/^@([a-zA-Z-]+)(?:\s+(.*))?$/);if(!c)throw new Error(`Invalid language tag at line ${t}`);let[,l,u]=c;return{node:new eS.Literal(i,void 0,l),rest:(u??"").trimStart()}}return{node:new eS.Literal(i),rest:a}}consumeQuotedString(e,t){if(!e.startsWith('"'))throw new Error(`Expected quoted string at line ${t}`);let r="";for(let i=1;i<e.length;i++){let s=e[i];if(s==="\\"){if(i+1>=e.length)throw new Error(`Invalid escape sequence at line ${t}`);let a=e[i+1];switch(a){case"t":r+=" ",i+=1;break;case"b":r+="\b",i+=1;break;case"n":r+=`
373
373
  `,i+=1;break;case"r":r+="\r",i+=1;break;case"f":r+="\f",i+=1;break;case'"':r+='"',i+=1;break;case"\\":r+="\\",i+=1;break;case"u":{let c=e.slice(i+2,i+6);if(c.length!==4||!/^[0-9a-fA-F]{4}$/.test(c))throw new Error(`Invalid \\u escape at line ${t}`);r+=String.fromCharCode(parseInt(c,16)),i+=5;break}case"U":{let c=e.slice(i+2,i+10);if(c.length!==8||!/^[0-9a-fA-F]{8}$/.test(c))throw new Error(`Invalid \\U escape at line ${t}`);r+=String.fromCodePoint(parseInt(c,16)),i+=9;break}default:throw new Error(`Unknown escape sequence \\${a} at line ${t}`)}continue}if(s==='"'){let a=e.slice(i+1);return{value:r,rest:a}}r+=s}throw new Error(`Unterminated string literal at line ${t}`)}findClosingBracket(e,t,r){let i=0;for(let s=0;s<e.length;s++){let a=e[s];if(a===t){i++;continue}if(a===r&&(i--,i===0))return s}return-1}};$p.NTriplesParser=tS});var ex=b(Vp=>{"use strict";Object.defineProperty(Vp,"__esModule",{value:!0});Vp.TurtleParser=void 0;var sl=gr(),G7=rS(),z7={rdf:sl.Namespace.RDF.iri.value,rdfs:sl.Namespace.RDFS.iri.value,owl:sl.Namespace.OWL.iri.value,xsd:sl.Namespace.XSD.iri.value,exo:sl.Namespace.EXO.iri.value,ems:sl.Namespace.EMS.iri.value},H7=/^@prefix\s+([a-zA-Z_][\w-]*):\s*<([^>]+)>\s*\.$/,nS=class{static{o(this,"TurtleParser")}constructor(){this.nTriplesParser=new G7.NTriplesParser}parse(e,t={}){let r={...z7,...t.prefixes??{}},i=this.collectStatements(e),s=[];return i.forEach(({statement:a,lineNumber:c})=>{if(this.isPrefixStatement(a)){let u=a.match(H7);if(!u)throw new Error(`Invalid prefix declaration at line ${c}`);let[,f,d]=u;r[f]=d;return}if(a.includes(";")||a.includes(","))throw new Error(`Complex Turtle statements with ';' or ',' are not supported (line ${c})`);let l=this.normalizeShortcuts(a);s.push(this.nTriplesParser.parseLine(l,c,{prefixes:r,strict:!1}))}),s}collectStatements(e){let t=e.split(/\r?\n/),r=[],i="",s=0;if(t.forEach((a,c)=>{let l=a.trim();!l||l.startsWith("#")||(i||(s=c+1),i=i?`${i} ${l}`:l,l.endsWith(".")&&(r.push({statement:i,lineNumber:s}),i=""))}),i)throw new Error(`Unterminated Turtle statement near line ${s}`);return r}isPrefixStatement(e){return e.startsWith("@prefix")}normalizeShortcuts(e){return e.includes(" a ")?e.replace(/\sa\s/g," rdf:type "):e}};Vp.TurtleParser=nS});var tx=b(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.RDFSerializer=void 0;var al=Qn(),Mo=Ae(),$o=ke(),iS=$t(),ps=gr(),Q7=KA(),K7=Xb(),Y7=JA(),X7=ex(),J7=rS(),Z7=1024,e8=`
374
374
  `,t8={rdf:ps.Namespace.RDF.iri.value,rdfs:ps.Namespace.RDFS.iri.value,owl:ps.Namespace.OWL.iri.value,xsd:ps.Namespace.XSD.iri.value,exo:ps.Namespace.EXO.iri.value,ems:ps.Namespace.EMS.iri.value},sS=class{static{o(this,"RDFSerializer")}constructor(e){this.store=e,this.turtleSerializer=new Q7.TurtleSerializer,this.nTriplesSerializer=new K7.NTriplesSerializer,this.jsonldSerializer=new Y7.JSONLDSerializer,this.turtleParser=new X7.TurtleParser,this.nTriplesParser=new J7.NTriplesParser}async serialize(e,t={}){let r=await this.store.match();return this.serializeTriples(r,e,t)}serializeTriples(e,t,r={}){switch(t){case"turtle":return this.turtleSerializer.serialize(e,{prefixes:r.prefixes,includeDefaultPrefixes:r.includeDefaultPrefixes,newline:r.newline});case"n-triples":return this.nTriplesSerializer.serialize(e,{newline:r.newline});case"json-ld":return this.jsonldSerializer.serialize(e,{context:r.prefixes,pretty:r.pretty,indent:r.indent});default:throw new Error(`Unsupported serialization format: ${t}`)}}stream(e,t={}){let r=t.newline??e8,i=t.batchSize??Z7,s=t.includeDefaultPrefixes,a=t.prefixes,c=this,l=!1,u=[],f=[],d=0,h=o(async()=>{if(!l){if(f=await c.store.match(),e==="json-ld"){let y=c.jsonldSerializer.toDocument(f,{context:a,pretty:!1});u.push(...c.buildJsonLdChunks(y))}else if(e==="turtle"){let y=c.turtleSerializer.serializePrefixes(c.composePrefixes(a,s),r);y&&u.push(`${y}${r}${r}`)}l=!0}},"ensureInitialized");return{async next(){if(await h(),u.length>0)return{value:u.shift(),done:!1};if(e==="json-ld")return{value:void 0,done:!0};if(d>=f.length)return{value:void 0,done:!0};let y=f.slice(d,d+i);d+=y.length;let S="";if(e==="turtle"){let v=c.turtleSerializer.serializeTriplesOnly(y,r);v&&(S=`${v}${r}`)}else e==="n-triples"&&(S=c.nTriplesSerializer.serializeChunk(y,r));return S?{value:S,done:!1}:this.next()},async return(){return u=[],f=[],d=0,{value:void 0,done:!0}},[Symbol.asyncIterator](){return this}}}async load(e,t,r={}){let i=this.parse(e,t,r);return r.mode!=="append"&&await this.store.clear(),await this.store.addAll(i),i.length}parse(e,t,r={}){switch(t){case"turtle":return this.turtleParser.parse(e,this.buildTurtleParseOptions(r));case"n-triples":return this.nTriplesParser.parse(e,this.buildNTriplesParseOptions(r));case"json-ld":return this.parseJsonLd(e,r);default:throw new Error(`Unsupported serialization format: ${t}`)}}buildTurtleParseOptions(e){return{prefixes:this.composePrefixes(e.prefixes,!0),strict:e.strict}}buildNTriplesParseOptions(e){return{prefixes:this.composePrefixes(e.prefixes,!0),strict:e.strict}}composePrefixes(e,t){return t??!0?{...t8,...e??{}}:{...e??{}}}parseJsonLd(e,t){let r;try{r=JSON.parse(e)}catch(u){throw new Error(`Invalid JSON-LD document: ${u.message}`)}let i=this.composePrefixes(t.prefixes,!0),s=this.extractContext(r),a={...i,...s},c=this.extractGraph(r),l=[];return c.forEach((u,f)=>{if(!u||typeof u!="object"||Array.isArray(u))throw new Error(`Invalid JSON-LD node at index ${f}`);let d=this.parseSubjectFromNode(u,a,f),h=Object.entries(u);for(let[p,y]of h){if(p==="@id"||p==="@context")continue;if(p==="@type"){this.collectTypeTriples(d,y,l,a);continue}let S=this.expandTerm(p,a),v=new Mo.IRI(S);this.collectTriplesForValue(d,v,y,l,a)}}),l}extractContext(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let t=e["@context"];if(!t||typeof t!="object"||Array.isArray(t))return{};let r={};return Object.entries(t).forEach(([i,s])=>{typeof s=="string"&&(r[i]=s)}),r}extractGraph(e){if(Array.isArray(e))return e;if(!e||typeof e!="object")return[];let t=e["@graph"];return Array.isArray(t)?t:[e]}parseSubjectFromNode(e,t,r){let i=e["@id"];if(typeof i=="string"){if(i.startsWith("_:"))return new iS.BlankNode(i.slice(2));if(this.isAbsoluteIri(i))return new Mo.IRI(i);let s=this.expandTerm(i,t);return new Mo.IRI(s)}return new iS.BlankNode(`jsonld_${r}`)}collectTypeTriples(e,t,r,i){let s=ps.Namespace.RDF.term("type");(Array.isArray(t)?t:[t]).forEach(c=>{if(typeof c!="string")throw new Error("Invalid @type value in JSON-LD node");let l=this.expandTerm(c,i);r.push(new al.Triple(e,s,new Mo.IRI(l)))})}collectTriplesForValue(e,t,r,i,s){if(r!=null){if(Array.isArray(r)){r.forEach(a=>this.collectTriplesForValue(e,t,a,i,s));return}if(typeof r=="object"){let a=r;if(typeof a["@id"]=="string"){let c=this.parseIdNode(a["@id"],s);i.push(new al.Triple(e,t,c));return}if(a["@value"]!==void 0){let c=this.parseLiteralObject(a,s);i.push(new al.Triple(e,t,c));return}}if(typeof r=="string"){i.push(new al.Triple(e,t,new $o.Literal(r)));return}if(typeof r=="number"){let a=Number.isInteger(r)?ps.Namespace.XSD.term("integer"):ps.Namespace.XSD.term("decimal");i.push(new al.Triple(e,t,new $o.Literal(r.toString(),a)));return}if(typeof r=="boolean"){let a=ps.Namespace.XSD.term("boolean");i.push(new al.Triple(e,t,new $o.Literal(r.toString(),a)));return}throw new Error("Unsupported JSON-LD value encountered")}}parseIdNode(e,t){if(e.startsWith("_:"))return new iS.BlankNode(e.slice(2));if(this.isAbsoluteIri(e))return new Mo.IRI(e);let r=this.expandTerm(e,t);return new Mo.IRI(r)}parseLiteralObject(e,t){let r=e["@value"];if(typeof r!="string")throw new Error("JSON-LD literal values must be strings");if(typeof e["@language"]=="string"){let i=e["@direction"];return i==="ltr"||i==="rtl"?new $o.Literal(r,void 0,e["@language"],i):new $o.Literal(r,void 0,e["@language"])}if(typeof e["@type"]=="string"){let i=this.expandTerm(e["@type"],t);return new $o.Literal(r,new Mo.IRI(i))}return new $o.Literal(r)}expandTerm(e,t){if(this.isAbsoluteIri(e))return e;let r=e.indexOf(":");if(r>0){let s=e.slice(0,r),a=e.slice(r+1),c=t[s];if(!c)throw new Error(`Unknown prefix "${s}" in JSON-LD document`);return`${c}${a}`}let i=t["@vocab"];if(i)return`${i}${e}`;throw new Error(`Unable to expand JSON-LD term "${e}"`)}isAbsoluteIri(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)}buildJsonLdChunks(e){let t=[],r=JSON.stringify(e["@context"]);return t.push(`{"@context":${r},"@graph":[`),e["@graph"].forEach((i,s)=>{let a=JSON.stringify(i);s>0?t.push(`,${a}`):t.push(a)}),t.push(`]}
375
- `),t}};Bp.RDFSerializer=sS});var aS=b(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.OBSIDIAN_VAULT_SCHEME=void 0;ol.vaultPathToIRI=r8;ol.OBSIDIAN_VAULT_SCHEME="obsidian://vault/";function r8(n){let e=n.startsWith("./")?n.slice(2):n;return`${ol.OBSIDIAN_VAULT_SCHEME}${encodeURI(e)}`}o(r8,"vaultPathToIRI")});var cS=b(Up=>{"use strict";Object.defineProperty(Up,"__esModule",{value:!0});Up.RDFVocabularyMapper=void 0;var Zt=Qn(),rx=Ae(),Y=gr(),oS=class{static{o(this,"RDFVocabularyMapper")}constructor(){this.propertyMappings=new Map([["exo__Instance_class",Y.Namespace.RDF.term("type")],["exo__Asset_isDefinedBy",Y.Namespace.RDFS.term("isDefinedBy")],["exo__Class_superClass",Y.Namespace.RDFS.term("subClassOf")],["exo__Property_range",Y.Namespace.RDFS.term("range")],["exo__Property_domain",Y.Namespace.RDFS.term("domain")],["exo__Property_superProperty",Y.Namespace.RDFS.term("subPropertyOf")]])}generateClassHierarchyTriples(){let e=[];return e.push(new Zt.Triple(Y.Namespace.EXO.term("Asset"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.RDFS.term("Resource"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Class"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.RDFS.term("Class"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Property"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.RDF.term("Property"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("Task"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("Project"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("Area"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("Workflow"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("WorkflowState"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("WorkflowTransition"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EXOCMD.term("Command"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EXOCMD.term("Precondition"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EXOCMD.term("Grounding"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EXOCMD.term("CommandBinding"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e}generatePropertyHierarchyTriples(){let e=[];return e.push(new Zt.Triple(Y.Namespace.EXO.term("Instance_class"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDF.term("type"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Asset_isDefinedBy"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDFS.term("isDefinedBy"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Class_superClass"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDFS.term("subClassOf"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Property_range"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDFS.term("range"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Property_domain"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDFS.term("domain"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Property_superProperty"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDFS.term("subPropertyOf"))),e}generateMappedTriple(e,t,r){let i=this.propertyMappings.get(t);if(!i)return null;let s;if(r instanceof rx.IRI)s=r;else{let a=r.match(/^(ems|exo|exocmd)__(.+)$/);if(a){let[,c,l]=a;s=(c==="ems"?Y.Namespace.EMS:c==="exocmd"?Y.Namespace.EXOCMD:Y.Namespace.EXO).term(l)}else s=new rx.IRI(r)}return new Zt.Triple(e,i,s)}hasMappingFor(e){return this.propertyMappings.has(e)}};Up.RDFVocabularyMapper=oS});var nx=b(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});Wp.RDFSInferenceEngine=void 0;var n8=Qn(),qp=Ae(),lS=class{static{o(this,"RDFSInferenceEngine")}async materialize(e){let t=await e.predicates(),r=t.find(d=>d.value.includes("Class_superClass")),i=t.find(d=>d.value.includes("Instance_class"));if(!r||!i)return 0;let s=await this.buildDirectParentMap(e,r);if(s.size===0)return 0;let a=this.computeAllAncestors(s),c=await e.count(),l=await e.match(void 0,i),u=[];for(let d of l)if(d.object instanceof qp.IRI){let h=a.get(d.object.value);if(h)for(let p of h)u.push(new n8.Triple(d.subject,i,new qp.IRI(p)))}return u.length>0&&await e.addAll(u),await e.count()-c}async buildDirectParentMap(e,t){let r=await e.match(void 0,t),i=new Map;for(let s of r)if(s.subject instanceof qp.IRI&&s.object instanceof qp.IRI){let a=s.subject.value,c=s.object.value;i.has(a)||i.set(a,new Set),i.get(a).add(c)}return i}computeAllAncestors(e){let t=new Map;for(let r of e.keys())t.has(r)||t.set(r,this.computeAncestorsBFS(r,e));return t}computeAncestorsBFS(e,t){let r=new Set,i=new Set,s=[],a=t.get(e);if(a)for(let c of a)s.push(c);for(;s.length>0;){let c=s.shift();if(i.has(c))continue;i.add(c),r.add(c);let l=t.get(c);if(l)for(let u of l)i.has(u)||s.push(u)}return r}};Wp.RDFSInferenceEngine=lS});var dS=b(Vo=>{"use strict";var i8=Vo&&Vo.__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};Object.defineProperty(Vo,"__esModule",{value:!0});Vo.NonInheritablePropertyRegistry=void 0;var s8=xe(),ix=Ae(),sx=ke(),uS=gr(),fS=class{static{o(this,"NonInheritablePropertyRegistry")}constructor(){this.nonInheritableIRIs=new Set,this.initialized=!1}async initialize(e){this.nonInheritableIRIs.clear();try{let t=await e.predicates(),r=t.find(c=>c.value.includes("Instance_class"));if(!r){this.initialized=!0;return}let i=await this.findNonInheritableClassIRI(e,t);if(!i){this.initialized=!0;return}let s=await e.match(void 0,r,i);if(s.length===0){this.initialized=!0;return}let a=t.find(c=>c.value.includes("Asset_label"));if(!a){this.initialized=!0;return}for(let c of s){let l=await e.match(c.subject,a,void 0);for(let u of l)if(u.object instanceof sx.Literal){let f=u.object.value,d=this.propertyKeyToIRI(f);d&&this.nonInheritableIRIs.add(d)}}}catch{}this.initialized=!0}isNonInheritable(e){return this.nonInheritableIRIs.has(e)}get size(){return this.nonInheritableIRIs.size}get isInitialized(){return this.initialized}async findNonInheritableClassIRI(e,t){let r=t.find(a=>a.value.includes("Asset_label"));if(!r)return null;let i=await e.match(void 0,r,new sx.Literal("exo__NonInheritableProperty"));if(i.length>0&&i[0].subject instanceof ix.IRI)return i[0].subject;let s=t.find(a=>a.value.includes("Instance_class"));if(s){let a=await e.match(void 0,s,void 0);for(let c of a)if(c.object instanceof ix.IRI&&c.object.value.includes("NonInheritableProperty"))return c.object}return null}propertyKeyToIRI(e){return e.startsWith("exo__")?uS.Namespace.EXO.term(e.substring(5)).value:e.startsWith("ems__")?uS.Namespace.EMS.term(e.substring(5)).value:e.startsWith("exocmd__")?uS.Namespace.EXOCMD.term(e.substring(8)).value:null}};Vo.NonInheritablePropertyRegistry=fS;Vo.NonInheritablePropertyRegistry=fS=i8([(0,s8.injectable)()],fS)});var mS=b(Bo=>{"use strict";var a8=Bo&&Bo.__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};Object.defineProperty(Bo,"__esModule",{value:!0});Bo.PropertyCardinalityRegistry=void 0;var o8=xe(),ax=Ae(),ox=ke(),hS=gr(),pS=class{static{o(this,"PropertyCardinalityRegistry")}constructor(){this.multiValuedIRIs=new Set,this.initialized=!1}async initialize(e){this.multiValuedIRIs.clear();try{let t=await e.predicates(),r=t.find(c=>c.value.includes("Property_cardinality"));if(!r){this.initialized=!0;return}let i=await this.findMultipleCardinalityIRI(e,t);if(!i){this.initialized=!0;return}let s=await e.match(void 0,r,i);if(s.length===0){this.initialized=!0;return}let a=t.find(c=>c.value.includes("Asset_label"));if(!a){this.initialized=!0;return}for(let c of s){let l=await e.match(c.subject,a,void 0);for(let u of l)if(u.object instanceof ox.Literal){let f=u.object.value,d=this.propertyKeyToIRI(f);d&&this.multiValuedIRIs.add(d)}}}catch{}this.initialized=!0}isMultiValued(e){return this.multiValuedIRIs.has(e)}get size(){return this.multiValuedIRIs.size}get isInitialized(){return this.initialized}async findMultipleCardinalityIRI(e,t){let r=t.find(a=>a.value.includes("Asset_label"));if(!r)return null;let i=await e.match(void 0,r,new ox.Literal("exo__PropertyCardinalityMultiple"));if(i.length>0&&i[0].subject instanceof ax.IRI)return i[0].subject;let s=t.find(a=>a.value.includes("Instance_class"));if(s){let a=await e.match(void 0,s,void 0);for(let c of a)if(c.object instanceof ax.IRI&&c.object.value.includes("PropertyCardinalityMultiple"))return c.object}return null}propertyKeyToIRI(e){return e.startsWith("exo__")?hS.Namespace.EXO.term(e.substring(5)).value:e.startsWith("ems__")?hS.Namespace.EMS.term(e.substring(5)).value:e.startsWith("exocmd__")?hS.Namespace.EXOCMD.term(e.substring(8)).value:null}};Bo.PropertyCardinalityRegistry=pS;Bo.PropertyCardinalityRegistry=pS=a8([(0,o8.injectable)()],pS)});var _S=b(_r=>{"use strict";var c8=_r&&_r.__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},l8=_r&&_r.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(_r,"__esModule",{value:!0});_r.PrototypeChainMaterializer=_r.MAX_PROTOTYPE_DEPTH=_r.INFERRED_GRAPH=void 0;_r.inferredGraphForDepth=gS;var u8=xe(),cx=Qn(),ja=Ae(),f8=dS(),d8=mS();_r.INFERRED_GRAPH=new ja.IRI("https://exocortex.my/ontology/exo#inferred");var h8="https://exocortex.my/ontology/exo#inferred/";function gS(n){return new ja.IRI(`${h8}${n}`)}o(gS,"inferredGraphForDepth");_r.MAX_PROTOTYPE_DEPTH=10;var yS=class{static{o(this,"PrototypeChainMaterializer")}constructor(e,t){this.registry=e,this.cardinalityRegistry=t??null}async materialize(e){let r=(await e.predicates()).find(c=>c.value.includes("Asset_prototype"));if(!r)return 0;let i=await e.match(void 0,r,void 0);if(i.length===0)return 0;let s=new Map;for(let c of i)if(c.subject instanceof ja.IRI&&c.object instanceof ja.IRI){let l=c.subject.value,u=c.object.value;l!==u&&s.set(l,c.object)}if(s.size===0)return 0;let a=0;for(let[c]of s){let l=new ja.IRI(c),u=this.resolveChain(c,s);if(u.length===0)continue;let f=await e.match(l,void 0,void 0),d=new Set,h=new Map;for(let p of f)if(d.add(p.predicate.value),this.isMultiValued(p.predicate.value)){let y=p.object instanceof ja.IRI?p.object.value:String(p.object),S=h.get(p.predicate.value);S||(S=new Set,h.set(p.predicate.value,S)),S.add(y)}for(let p=0;p<u.length;p++){let y=u[p],S=p+1,v=new ja.IRI(y),w=await e.match(v,void 0,void 0),T=new Set;if(e.matchInGraph){let R=await e.matchInGraph(v,void 0,void 0,_r.INFERRED_GRAPH);for(let $ of R)T.add($.predicate.value)}for(let R of w){let $=R.predicate.value;if(this.registry.isNonInheritable($)||T.has($))continue;if(d.has($)&&this.isMultiValued($)){let ne=R.object instanceof ja.IRI?R.object.value:String(R.object);if(h.get($)?.has(ne))continue;let U=h.get($);U||(U=new Set,h.set($,U)),U.add(ne);let O=new cx.Triple(l,R.predicate,R.object);await e.add(O),e.addToGraph&&(await e.addToGraph(O,_r.INFERRED_GRAPH),await e.addToGraph(O,gS(S))),a++;continue}if(d.has($))continue;let V=new cx.Triple(l,R.predicate,R.object);await e.add(V),e.addToGraph&&(await e.addToGraph(V,_r.INFERRED_GRAPH),await e.addToGraph(V,gS(S))),d.add($),a++}}}return a}isMultiValued(e){return this.cardinalityRegistry?this.cardinalityRegistry.isMultiValued(e):!1}resolveChain(e,t){let r=[],i=new Set;i.add(e);let s=[],a=t.get(e);for(a&&s.push(a.value);s.length>0&&r.length<_r.MAX_PROTOTYPE_DEPTH;){let c=s.shift();if(c===void 0)break;if(i.has(c))continue;i.add(c),r.push(c);let l=t.get(c);l&&!i.has(l.value)&&s.push(l.value)}return r}};_r.PrototypeChainMaterializer=yS;_r.PrototypeChainMaterializer=yS=c8([(0,u8.injectable)(),l8("design:paramtypes",[f8.NonInheritablePropertyRegistry,d8.PropertyCardinalityRegistry])],yS)});var SS=b(ur=>{"use strict";var p8=ur&&ur.__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},m8=ur&&ur.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(ur,"__esModule",{value:!0});ur.SourceAnnotator=ur.DEPTH_VARIABLE=ur.SOURCE_VARIABLE=void 0;var g8=xe(),cl=ke(),y8=Ae(),Gp=_S();ur.SOURCE_VARIABLE="_source";ur.DEPTH_VARIABLE="_depth";var bS=class{static{o(this,"SourceAnnotator")}constructor(e){this.tripleStore=e}async annotate(e,t,r,i){if(!this.tripleStore.matchInGraph)return e.map(a=>{let c=a.clone();return c.set(ur.SOURCE_VARIABLE,new cl.Literal("own")),c});let s=[];for(let a of e){let c=a.get(t),l=a.get(r),u=a.get(i),f=a.clone();if(!c||!l||!u)f.set(ur.SOURCE_VARIABLE,new cl.Literal("own"));else{let d=await this.determineSource(c,l,u);f.set(ur.SOURCE_VARIABLE,new cl.Literal(d))}s.push(f)}return s}async annotateSingle(e,t,r,i){return(await this.annotate([e],t,r,i))[0]}async determineSource(e,t,r){return this.tripleStore.matchInGraph&&(await this.tripleStore.matchInGraph(e,t,r,Gp.INFERRED_GRAPH)).length>0?"inherited":"own"}async getInheritanceDepth(e,t,r){if(!this.tripleStore.matchInGraph)return 0;for(let i=1;i<=Gp.MAX_PROTOTYPE_DEPTH;i++){let s=(0,Gp.inferredGraphForDepth)(i);if((await this.tripleStore.matchInGraph(e,t,r,s)).length>0)return i}return 0}async annotateBySubject(e,t){if(!this.tripleStore.matchInGraph)return e.map(s=>{let a=s.clone();return a.set(ur.SOURCE_VARIABLE,new cl.Literal("own")),a});let r=[],i=new Map;for(let s of e){let a=s.get(t),c=s.clone();if(!a||!(a instanceof y8.IRI))c.set(ur.SOURCE_VARIABLE,new cl.Literal("own"));else{let l=a.value;if(!i.has(l)){let f=await this.tripleStore.matchInGraph(a,void 0,void 0,Gp.INFERRED_GRAPH);i.set(l,f.length>0?"inherited":"own")}let u=i.get(l)??"own";c.set(ur.SOURCE_VARIABLE,new cl.Literal(u))}r.push(c)}return r}};ur.SourceAnnotator=bS;ur.SourceAnnotator=bS=p8([(0,g8.injectable)(),m8("design:paramtypes",[Object])],bS)});var vS=b(ki=>{"use strict";var _8=ki&&ki.__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},b8=ki&&ki.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},lx=ki&&ki.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(ki,"__esModule",{value:!0});ki.NoteToRDFConverter=void 0;var wS=xe(),fr=Qn(),Ma=Ae(),dn=ke(),ux=$t(),zt=gr(),fx=Rt(),S8=cS(),w8=bc(),dx=aS(),xn=_0(),v8=new Set(["archived","draft","pinned"]),ll=class{static{o(this,"NoteToRDFConverter")}constructor(e,t=w8.NullLogger){this.vault=e,this.logger=t,this.BODY_WIKILINK_PATTERN=/(?<!!)\[\[([^\]|]+)(?:\|[^\]]+)?\]\]/g,this.pendingExtraTriples=[],this.vocabularyMapper=new S8.RDFVocabularyMapper}async convertNote(e){let t=this.vault.getFrontmatter(e);return t?xn.Exo003Parser.isExo003Format(t)?this.convertExo003Note(e,t):this.convertLegacyNote(e,t):[]}async convertLegacyNote(e,t){this.pendingExtraTriples=[];let r=[],i=this.notePathToIRI(e.path),s=zt.Namespace.EXO.term("Asset_fileName");r.push(new fr.Triple(i,s,new dn.Literal(e.basename)));for(let[f,d]of Object.entries(t)){let h=v8.has(f)?`exo__Asset_${f}`:f;if(!this.isExocortexProperty(h))continue;let p=this.propertyKeyToIRI(h),y=Array.isArray(d)?d:[d];for(let S of y)if(!(f==="exo__Asset_label"&&typeof S=="string"&&S.trim()===""))if(f==="exo__Instance_class"){let v=this.valueToClassURI(S);r.push(new fr.Triple(i,p,v))}else{let v=await this.valueToRDFObject(S,e,p);for(let w of v)if(r.push(new fr.Triple(i,p,w)),this.vocabularyMapper.hasMappingFor(f)&&w instanceof Ma.IRI){let T=this.vocabularyMapper.generateMappedTriple(i,f,w);T&&r.push(T)}}if(f==="exo__Instance_class")for(let S of y){let v=this.valueToClassURI(S);if(v instanceof Ma.IRI){let w=zt.Namespace.RDF.term("type");r.push(new fr.Triple(i,w,v))}}if(f==="exo__Asset_label"){let S=zt.Namespace.RDFS.term("label");for(let v of y)typeof v=="string"&&v.length>0&&r.push(new fr.Triple(i,S,new dn.Literal(v)))}}let a="exo__Instance_class"in t||"exo__Asset_uid"in t,c=t.exo__Asset_label,l="exo__Asset_label"in t&&c!==null&&c!==void 0&&!(typeof c=="string"&&c.trim()==="")&&!(Array.isArray(c)&&c.length===0);if(a&&!l){let f=zt.Namespace.RDFS.term("label"),d=zt.Namespace.EXO.term("Asset_label"),h=new dn.Literal(e.basename);r.push(new fr.Triple(i,f,h)),r.push(new fr.Triple(i,d,h))}r.push(...this.pendingExtraTriples),this.pendingExtraTriples=[];let u=await this.convertBodyWikilinks(e,i);return r.push(...u),r}async convertExo003Note(e,t){let r=xn.Exo003Parser.parse(t);if(!r.success||!r.metadata)return[];let i=r.metadata,s=[];switch(i.metadata){case xn.Exo003MetadataType.Namespace:break;case xn.Exo003MetadataType.Anchor:s.push(...this.convertExo003Anchor(e,i));break;case xn.Exo003MetadataType.BlankNode:s.push(...this.convertExo003BlankNode(e,i));break;case xn.Exo003MetadataType.Statement:s.push(...this.convertExo003Statement(e,i));break;case xn.Exo003MetadataType.Body:s.push(...await this.convertExo003Body(e,i));break}return s}convertExo003Anchor(e,t){let r=this.notePathToIRI(e.path),i=new Ma.IRI(t.uri);return[new fr.Triple(r,zt.Namespace.OWL.term("sameAs"),i),new fr.Triple(i,zt.Namespace.OWL.term("sameAs"),r)]}convertExo003BlankNode(e,t){let r=this.notePathToIRI(e.path),i=t.uri.replace(/[^a-zA-Z0-9_-]/g,"_");return[new fr.Triple(r,zt.Namespace.OWL.term("sameAs"),new ux.BlankNode(i))]}convertExo003Statement(e,t){let r=[];try{let i=this.createExo003ReferenceResolver(e),s=xn.Exo003Parser.toTriple(t,i);r.push(s);let a=this.notePathToIRI(e.path);r.push(new fr.Triple(a,zt.Namespace.RDF.term("value"),s.subject))}catch{}return r}async convertExo003Body(e,t){let r=[];try{let i=await this.vault.read(e),s=this.extractBodyContent(i),a=this.createExo003ReferenceResolver(e),c=a(t.subject),l=a(t.predicate);if(c.type==="literal")throw new Error("Body subject cannot be a literal");if(l.type!=="iri")throw new Error("Body predicate must be an IRI");let u=c.type==="iri"?new Ma.IRI(c.value):new ux.BlankNode(c.value),f=new Ma.IRI(l.value),d=xn.Exo003Parser.toLiteral(t,s.trim());r.push(new fr.Triple(u,f,d));let h=this.notePathToIRI(e.path);r.push(new fr.Triple(h,zt.Namespace.RDF.term("value"),u))}catch{}return r}createExo003ReferenceResolver(e){return t=>{let r=this.extractWikilink(t),i=r||t,s=this.vault.getFirstLinkpathDest(i,e.path);if(s){let a=this.vault.getFrontmatter(s);if(a&&xn.Exo003Parser.isExo003Format(a)){let c=xn.Exo003Parser.parse(a);if(c.success&&c.metadata){let l=c.metadata;if(l.metadata===xn.Exo003MetadataType.Anchor||l.metadata===xn.Exo003MetadataType.Namespace)return{type:"iri",value:l.uri};if(l.metadata===xn.Exo003MetadataType.BlankNode)return{type:"blank",value:l.uri.replace(/[^a-zA-Z0-9_-]/g,"_")}}}return{type:"iri",value:this.notePathToIRI(s.path).value}}return!r&&t.includes("://")?{type:"iri",value:t}:{type:"literal",value:t}}}async convertVault(){return(await this.convertVaultWithValidation({strict:!1})).triples}async convertVaultWithValidation(e={}){let t=this.vault.getAllFiles(),r=[],i=[],s=e.strict??!1;for(let a of t)try{let c=this.vault.getFrontmatter(a),l=c?this.validateExocortexAsset(c,a.basename):null;if(l){if(s)throw new Error(`Invariant violation in "${a.path}": ${l.message}`);i.push({path:a.path,reason:`Invariant violation: ${l.message}`}),this.logger.warn(`Skipping file with invariant violation: ${a.path}`,{code:l.code,property:l.property,reason:l.message});continue}let u=await this.convertNote(a);r.push(...u)}catch(c){let l=c instanceof Error?c.message:String(c);if(s)throw new Error(`Invalid IRI for file "${a.path}": ${l}`);i.push({path:a.path,reason:`Invalid IRI: ${l}`}),this.logger.warn(`Skipping file with invalid IRI: ${a.path}`,{reason:l})}return{triples:r,skippedFiles:i,summary:{total:t.length,indexed:t.length-i.length,skipped:i.length}}}static inferLabelFromBasename(e){return zt.Namespace.fromPropertyKey(e)!==null?e:null}validateExocortexAsset(e,t){let r=o(d=>d==null?!0:typeof d=="string"?d.trim()==="":Array.isArray(d)?d.length===0||d.every(r):!1,"isEmpty");if(!("exo__Instance_class"in e||"exo__Asset_uid"in e))return null;let s=["exo__Asset_uid","exo__Asset_isDefinedBy","exo__Instance_class"];for(let d of s){if(!(d in e))return{code:"MISSING_PROPERTY",property:d,message:`Required property "${d}" is missing`};if(r(e[d]))return{code:"EMPTY_PROPERTY",property:d,message:`Required property "${d}" is empty`}}let a=["ems__Effort_status","ems__Effort_parent","ems__Effort_lockedBy","ems__Effort_lockExpires","exo__Asset_updatedAt","ems__Effort_startTimestamp"];for(let d of a)if(d in e&&r(e[d]))return{code:"EMPTY_OPTIONAL_PROPERTY",property:d,message:`Optional property "${d}" is present but empty`};let c=e.exo__Instance_class,l=Array.isArray(c)?c:[c],u=null,f=!1;for(let d of l){if(typeof d!="string")continue;let h=this.removeQuotes(d),y=(this.extractWikilink(h)??h).trim();/^[a-z][a-zA-Z0-9]*__/.test(y)&&/[\s()]/.test(y)?u||(u={candidate:d}):f=!0}return u&&!f?{code:"INVALID_INSTANCE_CLASS_IRI",property:"exo__Instance_class",message:`Invalid Instance_class IRI: "${u.candidate}"`}:null}async validateVault(){let e=this.vault.getAllFiles(),t=[];for(let r of e){let i=(0,dx.vaultPathToIRI)(r.path);Ma.IRI.isValidIRI(i)||t.push({path:r.path,reason:`Path "${r.path}" cannot be converted to a valid IRI`})}return t}notePathToIRI(e){return new Ma.IRI((0,dx.vaultPathToIRI)(e))}isExocortexProperty(e){return zt.Namespace.fromPropertyKey(e)!==null}propertyKeyToIRI(e){let t=zt.Namespace.fromPropertyKey(e);if(!t)throw new Error(`Invalid property key: ${e}`);return t.namespace.term(t.localName)}emitTypeTripleForEnumInstance(e,t){let r=this.vault.getFrontmatter(t);if(!r)return;let i=r.exo__Instance_class,s=Array.isArray(i)?i[0]:i;if(typeof s!="string")return;let a=this.valueToClassURI(s);a instanceof Ma.IRI&&(this.pendingExtraTriples.push(new fr.Triple(e,zt.Namespace.RDF.term("type"),a)),this.pendingExtraTriples.push(new fr.Triple(e,zt.Namespace.EXO.term("Instance_class"),a)))}async valueToRDFObject(e,t,r){if(typeof e=="string"){let i=this.removeQuotes(e),s=this.extractWikilink(i);if(s){let a=this.vault.getFirstLinkpathDest(s,t.path);if(a){let l=this.notePathToIRI(a.path),u=s.includes("|")?s.split("|")[0]:s;if(this.isUUID(u)){let d=new dn.Literal(u),h=this.expandClassValue(a.basename);if(h)return this.emitTypeTripleForEnumInstance(h,a),[h];let p=this.vault.getFrontmatter(a);if(p){let S=p.exo__Asset_label;if(typeof S=="string"){let v=this.expandClassValue(S);if(v)return this.emitTypeTripleForEnumInstance(v,a),[v]}}return r?.value.endsWith("#Asset_prototype")||r?.value.endsWith("/Asset_prototype")?[l,d]:[l]}let f=this.expandClassValue(a.basename);return f?(this.emitTypeTripleForEnumInstance(f,a),[f]):[l]}if(this.isClassReference(s)){let l=this.expandClassValue(s);if(l)return[l]}let c=s.includes("|")?s.split("|")[0]:s;return this.isUUID(c)?[this.notePathToIRI(`${c}.md`)]:[new dn.Literal(i)]}if(this.isClassReference(i)){let a=this.expandClassValue(i);if(a)return[a]}return this.isISO8601DateTime(i)?[new dn.Literal(i,zt.Namespace.XSD.term("dateTime"))]:[new dn.Literal(i)]}return typeof e=="boolean"?[new dn.Literal(e.toString())]:typeof e=="number"?[new dn.Literal(e.toString(),zt.Namespace.XSD.term("decimal"))]:e instanceof Date?[new dn.Literal(e.toISOString(),zt.Namespace.XSD.term("dateTime"))]:[new dn.Literal(String(e))]}isISO8601DateTime(e){return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-]\d{2}:\d{2})?$/.test(e)}removeQuotes(e){let t=e.trim();return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.substring(1,t.length-1):e}extractWikilink(e){let t=e.match(/^\[\[([^\]]+)\]\]$/);if(!t)return null;let r=t[1];return r.includes("|")?r.split("|")[0]:r}extractWikilinkAlias(e){let t=e.match(/^\[\[([^\]]+)\]\]$/);if(!t)return null;let r=t[1],i=r.indexOf("|");return i>=0?r.substring(i+1).trim():null}valueToClassURI(e){if(typeof e!="string")return new dn.Literal(String(e));let t=this.removeQuotes(e),i=this.extractWikilink(t)||t,s=this.expandClassValue(i);if(s)return s;let a=this.extractWikilinkAlias(t);if(a){let c=this.expandClassValue(a);if(c)return c}if(this.isUUID(i)){let c=this.vault.getFirstLinkpathDest(i,"");if(c){let l=this.expandClassValue(c.basename);if(l)return l;let u=this.vault.getFrontmatter(c);if(u){let f=u.exo__Asset_label;if(typeof f=="string"){let d=this.expandClassValue(f);if(d)return d}}}}return new dn.Literal(t)}isClassReference(e){return/\s/.test(e)?!1:zt.Namespace.fromPropertyKey(e)!==null}isUUID(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}expandClassValue(e){let t=this.removeQuotes(e),r=zt.Namespace.fromPropertyKey(t);return!r||/[\s()]/.test(r.localName)?null:r.namespace.term(r.localName)}extractBodyContent(e){let t=/^---\r?\n[\s\S]*?\r?\n---\r?\n?/;return e.replace(t,"")}extractBodyWikilinks(e){let t=new Set,r,i=new RegExp(this.BODY_WIKILINK_PATTERN.source,"g");for(;(r=i.exec(e))!==null;)r[1]&&t.add(r[1]);return Array.from(t)}async convertBodyWikilinks(e,t){let r=[];try{let i=await this.vault.read(e),s=this.extractBodyContent(i),a=this.extractBodyWikilinks(s),c=zt.Namespace.EXO.term("Asset_bodyLink");for(let l of a){let u=this.vault.getFirstLinkpathDest(l,e.path);if(u){let f=this.notePathToIRI(u.path);r.push(new fr.Triple(t,c,f))}else if(this.isClassReference(l)){let f=this.expandClassValue(l);f?r.push(new fr.Triple(t,c,f)):r.push(new fr.Triple(t,c,new dn.Literal(l)))}else r.push(new fr.Triple(t,c,new dn.Literal(l)))}}catch{}return r}};ki.NoteToRDFConverter=ll;ll.SkippedFileInfo=class{constructor(n,e){this.path=n,this.reason=e}};ll.VaultValidationResult=class{constructor(n,e,t){this.triples=n,this.skippedFiles=e,this.summary=t}};ll.VaultValidationOptions=class{constructor(n=!1){this.strict=n}};ki.NoteToRDFConverter=ll=_8([(0,wS.injectable)(),lx(0,(0,wS.inject)(fx.DI_TOKENS.IVaultAdapter)),lx(1,(0,wS.inject)(fx.DI_TOKENS.ILogger)),b8("design:paramtypes",[Object,Object])],ll)});var TS=b(zp=>{"use strict";Object.defineProperty(zp,"__esModule",{value:!0});zp.FilterContainsOptimizer=void 0;var E8=Ae(),T8=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i,ES=class{static{o(this,"FilterContainsOptimizer")}constructor(){this.tripleStore=null,this.lastOptimizationHints=[]}setTripleStore(e){this.tripleStore=e}getLastOptimizationHints(){return this.lastOptimizationHints}clearHints(){this.lastOptimizationHints=[]}async optimize(e){return this.clearHints(),this.optimizeRecursive(e)}optimizeSync(e,t){return this.clearHints(),this.optimizeSyncRecursive(e,t)}async optimizeRecursive(e){return e.type==="filter"?this.optimizeFilter(e):e.type==="join"?{type:"join",left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="leftjoin"?{...e,left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="union"?{type:"union",left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="minus"?{...e,left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="project"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="orderby"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="slice"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="distinct"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="reduced"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="group"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="extend"?{...e,input:await this.optimizeRecursive(e.input)}:e}optimizeSyncRecursive(e,t){return e.type==="filter"?this.optimizeFilterSync(e,t):e.type==="join"?{type:"join",left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="leftjoin"?{...e,left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="union"?{type:"union",left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="minus"?{...e,left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="project"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="orderby"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="slice"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="distinct"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="reduced"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="group"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="extend"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e}async optimizeFilter(e){let t=this.detectContainsUUIDPattern(e.expression);if(!t)return{type:"filter",expression:e.expression,input:await this.optimizeRecursive(e.input)};let r=[];return this.tripleStore&&(r=await this.findSubjectsContainingUUID(t.uuid)),this.rewriteFilter(e,t,r)}optimizeFilterSync(e,t){let r=this.detectContainsUUIDPattern(e.expression);if(!r)return{type:"filter",expression:e.expression,input:this.optimizeSyncRecursive(e.input,t)};let i=t?t.filter(s=>s.includes(r.uuid)):[];return this.rewriteFilter(e,r,i)}rewriteFilter(e,t,r){if(this.lastOptimizationHints.push({type:"uuid-index-lookup",originalPattern:`FILTER(CONTAINS(STR(?${t.variable}), "${t.uuid}"))`,suggestedRewrite:r.length===1?`VALUES ?${t.variable} { <${r[0]}> }`:r.length>1?`VALUES ?${t.variable} { ${r.map(i=>`<${i}>`).join(" ")} }`:"No matching URIs found for UUID",estimatedSpeedup:r.length>0?"O(n) \u2192 O(1)":"N/A",matchedUri:r.length===1?r[0]:void 0}),r.length===0)return{type:"filter",expression:e.expression,input:this.optimizeSyncRecursive(e.input)};if(r.length===1){let i=this.injectSubjectConstraint(e.input,t.variable,r[0]);if(i!==e.input)return i}return this.createValuesJoin(e,t,r)}detectContainsUUIDPattern(e){if(e.type==="function"||e.type==="functionCall"){let t=e;if((typeof t.function=="string"?t.function.toLowerCase():t.function?.value?.toLowerCase()??"")==="contains"&&t.args.length===2)return this.analyzeContainsArgs(t.args[0],t.args[1],e)}if(e.type==="logical"&&e.operator==="&&")for(let t of e.operands){let r=this.detectContainsUUIDPattern(t);if(r)return r}return null}analyzeContainsArgs(e,t,r){let i=null;if(e.type==="function"||e.type==="functionCall"){let s=e;if((typeof s.function=="string"?s.function.toLowerCase():s.function?.value?.toLowerCase()??"")==="str"&&s.args.length===1){let c=s.args[0];c.type==="variable"&&(i=c.name)}}if(!i&&e.type==="variable"&&(i=e.name),!i)return null;if(t.type==="literal"){let c=String(t.value).match(T8);if(c)return{variable:i,uuid:c[0].toLowerCase(),originalExpression:r}}return null}async findSubjectsContainingUUID(e){if(!this.tripleStore)return[];if(this.tripleStore.findSubjectsByUUID)return(await this.tripleStore.findSubjectsByUUID(e)).map(s=>s.value);let t=await this.tripleStore.subjects(),r=[];for(let i of t)i instanceof E8.IRI&&i.value.toLowerCase().includes(e.toLowerCase())&&r.push(i.value);return r}injectSubjectConstraint(e,t,r){if(e.type==="bgp"){let i=e.triples.map(a=>a.subject.type==="variable"&&a.subject.value===t?{...a,subject:{type:"iri",value:r}}:a);if(i.some((a,c)=>a.subject!==e.triples[c].subject))return{type:"bgp",triples:i}}if(e.type==="join"){let i=this.injectSubjectConstraint(e.left,t,r),s=this.injectSubjectConstraint(e.right,t,r);if(i!==e.left||s!==e.right)return{type:"join",left:i,right:s}}if(e.type==="filter"){let i=this.injectSubjectConstraint(e.input,t,r);if(i!==e.input)return{...e,input:i}}return e}createValuesJoin(e,t,r){return{type:"join",left:{type:"values",variables:[t.variable],bindings:r.map(a=>({[t.variable]:{type:"iri",value:a}}))},right:this.optimizeSyncRecursive(e.input)}}analyzeQuery(e){let t=[];return this.analyzeRecursive(e,t),t}analyzeRecursive(e,t){if(e.type==="filter"){let r=this.detectContainsUUIDPattern(e.expression);r&&t.push({type:"uuid-index-lookup",originalPattern:`FILTER(CONTAINS(STR(?${r.variable}), "${r.uuid}"))`,suggestedRewrite:`Use --optimize flag or rewrite as VALUES ?${r.variable} { <uri-containing-uuid> }`,estimatedSpeedup:"O(n) \u2192 O(1) with UUID index lookup"}),this.analyzeRecursive(e.input,t);return}e.type==="join"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="leftjoin"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="union"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="minus"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="project"?this.analyzeRecursive(e.input,t):e.type==="orderby"?this.analyzeRecursive(e.input,t):e.type==="slice"?this.analyzeRecursive(e.input,t):e.type==="distinct"?this.analyzeRecursive(e.input,t):e.type==="reduced"?this.analyzeRecursive(e.input,t):e.type==="group"?this.analyzeRecursive(e.input,t):e.type==="extend"&&this.analyzeRecursive(e.input,t)}};zp.FilterContainsOptimizer=ES});var hx=b(Hp=>{"use strict";Object.defineProperty(Hp,"__esModule",{value:!0});Hp.AlgebraOptimizer=void 0;var A8=TS(),AS=class{static{o(this,"AlgebraOptimizer")}constructor(){this.stats=new Map,this.tripleStore=null,this.filterContainsOptimizer=new A8.FilterContainsOptimizer}setTripleStore(e){this.tripleStore=e,this.filterContainsOptimizer.setTripleStore(e)}getOptimizationHints(){return this.filterContainsOptimizer.getLastOptimizationHints()}analyzeQuery(e){return this.filterContainsOptimizer.analyzeQuery(e)}optimize(e){let t=e;return t=this.eliminateEmptyBGPInFilterJoin(t),t=this.filterPushDown(t),t=this.joinReordering(t),t}async optimizeAsync(e){let t=e;return t=this.eliminateEmptyBGPInFilterJoin(t),this.tripleStore&&(t=await this.filterContainsOptimizer.optimize(t)),t=this.filterPushDown(t),t=this.joinReordering(t),t}optimizeWithSubjects(e,t){let r=e;return r=this.eliminateEmptyBGPInFilterJoin(r),r=this.filterContainsOptimizer.optimizeSync(r,t),r=this.filterPushDown(r),r=this.joinReordering(r),r}eliminateEmptyBGPInFilterJoin(e){if(e.type==="join"){if(e.left.type==="filter"){let t=e.left;if(t.input.type==="bgp"&&t.input.triples.length===0)return{type:"filter",expression:t.expression,input:this.eliminateEmptyBGPInFilterJoin(e.right)}}if(e.right.type==="filter"){let t=e.right;if(t.input.type==="bgp"&&t.input.triples.length===0)return{type:"filter",expression:t.expression,input:this.eliminateEmptyBGPInFilterJoin(e.left)}}return{type:"join",left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}}return e.type==="filter"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="leftjoin"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="union"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="minus"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="project"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="orderby"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="slice"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="distinct"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e}filterPushDown(e){return e.type==="filter"?this.pushDownFilter(e):e.type==="join"?{type:"join",left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="leftjoin"?{...e,left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="union"?{type:"union",left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="minus"?{...e,left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="project"?{...e,input:this.filterPushDown(e.input)}:e.type==="orderby"?{...e,input:this.filterPushDown(e.input)}:e.type==="slice"?{...e,input:this.filterPushDown(e.input)}:e.type==="distinct"?{...e,input:this.filterPushDown(e.input)}:e}pushDownFilter(e){let t=e.input;if(t.type==="join"){let r=this.getFilterVariables(e.expression),i=this.getOperationVariables(t.left),s=this.getOperationVariables(t.right),a=r.every(l=>i.has(l)),c=r.every(l=>s.has(l));return a&&!c?{type:"join",left:{type:"filter",expression:e.expression,input:this.filterPushDown(t.left)},right:this.filterPushDown(t.right)}:c&&!a?{type:"join",left:this.filterPushDown(t.left),right:{type:"filter",expression:e.expression,input:this.filterPushDown(t.right)}}:{type:"filter",expression:e.expression,input:{type:"join",left:this.filterPushDown(t.left),right:this.filterPushDown(t.right)}}}return t.type==="union"?{type:"union",left:{type:"filter",expression:e.expression,input:this.filterPushDown(t.left)},right:{type:"filter",expression:e.expression,input:this.filterPushDown(t.right)}}:{type:"filter",expression:e.expression,input:this.filterPushDown(t)}}getFilterVariables(e){let t=[];if(e.type==="variable")t.push(e.name);else if(e.type==="comparison")t.push(...this.getFilterVariables(e.left)),t.push(...this.getFilterVariables(e.right));else if(e.type==="logical")for(let r of e.operands)t.push(...this.getFilterVariables(r));else if(e.type==="function")for(let r of e.args)t.push(...this.getFilterVariables(r));return Array.from(new Set(t))}getOperationVariables(e){let t=new Set;if(e.type==="bgp")for(let r of e.triples)r.subject.type==="variable"&&t.add(r.subject.value),r.predicate.type==="variable"&&t.add(r.predicate.value),r.object.type==="variable"&&t.add(r.object.value);else if(e.type==="join"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else{if(e.type==="filter")return this.getOperationVariables(e.input);if(e.type==="leftjoin"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else if(e.type==="union"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else{if(e.type==="minus")return this.getOperationVariables(e.left);if(e.type==="project")return new Set(e.variables)}}return t}joinReordering(e){return e.type==="join"?this.reorderJoin(e):e.type==="filter"?{...e,input:this.joinReordering(e.input)}:e.type==="leftjoin"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="union"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="minus"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="project"?{...e,input:this.joinReordering(e.input)}:e.type==="orderby"?{...e,input:this.joinReordering(e.input)}:e.type==="slice"?{...e,input:this.joinReordering(e.input)}:e.type==="distinct"?{...e,input:this.joinReordering(e.input)}:e}reorderJoin(e){let t=this.isConstrained(e.left),r=this.isConstrained(e.right);if(r&&!t)return{type:"join",left:this.joinReordering(e.right),right:this.joinReordering(e.left)};if(t&&!r)return{type:"join",left:this.joinReordering(e.left),right:this.joinReordering(e.right)};let i=this.estimateCost(e.left);return this.estimateCost(e.right)<i?{type:"join",left:this.joinReordering(e.right),right:this.joinReordering(e.left)}:{type:"join",left:this.joinReordering(e.left),right:this.joinReordering(e.right)}}isConstrained(e){return e.type==="values"?!0:e.type==="bgp"?e.triples.some(t=>t.object.type!=="variable"||t.subject.type!=="variable"):e.type==="filter"?this.isConstrained(e.input):e.type==="join"?this.isConstrained(e.left)||this.isConstrained(e.right):e.type==="union"?this.isConstrained(e.left)&&this.isConstrained(e.right):!1}estimateCost(e){if(e.type==="bgp"){let t=0;for(let r of e.triples){let i=10;r.subject.type==="variable"&&(i*=10),r.predicate.type==="variable"&&(i*=20),r.object.type==="variable"&&(i*=5),t+=i}return t}if(e.type==="filter")return this.estimateCost(e.input)*.3;if(e.type==="join"){let t=this.estimateCost(e.left),r=this.estimateCost(e.right);return e.left.type==="values"||e.right.type==="values"?Math.min(t,r)*2:t*r}if(e.type==="leftjoin")return this.estimateCost(e.left)+this.estimateCost(e.right)*.5;if(e.type==="union")return this.estimateCost(e.left)+this.estimateCost(e.right);if(e.type==="values"){let t=e.bindings;return Array.isArray(t)?t.length*5:10}return e.type==="minus"?this.estimateCost(e.left)+this.estimateCost(e.right)*.3:100}setStatistics(e,t){this.stats.set(e,t)}getStatistics(e){return this.stats.get(e)}};Hp.AlgebraOptimizer=AS});var px=b(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});Qp.AlgebraSerializer=void 0;var xS=class{static{o(this,"AlgebraSerializer")}toString(e,t=0){let r=" ".repeat(t);switch(e.type){case"bgp":return`${r}BGP [
375
+ `),t}};Bp.RDFSerializer=sS});var aS=b(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.OBSIDIAN_VAULT_SCHEME=void 0;ol.vaultPathToIRI=r8;ol.OBSIDIAN_VAULT_SCHEME="obsidian://vault/";function r8(n){let e=n.startsWith("./")?n.slice(2):n;return`${ol.OBSIDIAN_VAULT_SCHEME}${encodeURI(e)}`}o(r8,"vaultPathToIRI")});var cS=b(Up=>{"use strict";Object.defineProperty(Up,"__esModule",{value:!0});Up.RDFVocabularyMapper=void 0;var Zt=Qn(),rx=Ae(),Y=gr(),oS=class{static{o(this,"RDFVocabularyMapper")}constructor(){this.propertyMappings=new Map([["exo__Instance_class",Y.Namespace.RDF.term("type")],["exo__Asset_isDefinedBy",Y.Namespace.RDFS.term("isDefinedBy")],["exo__Class_superClass",Y.Namespace.RDFS.term("subClassOf")],["exo__Property_range",Y.Namespace.RDFS.term("range")],["exo__Property_domain",Y.Namespace.RDFS.term("domain")],["exo__Property_superProperty",Y.Namespace.RDFS.term("subPropertyOf")]])}generateClassHierarchyTriples(){let e=[];return e.push(new Zt.Triple(Y.Namespace.EXO.term("Asset"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.RDFS.term("Resource"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Class"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.RDFS.term("Class"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Property"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.RDF.term("Property"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("Task"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("Project"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("Area"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("Workflow"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("WorkflowState"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EMS.term("WorkflowTransition"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EXOCMD.term("Command"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EXOCMD.term("Precondition"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EXOCMD.term("Grounding"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e.push(new Zt.Triple(Y.Namespace.EXOCMD.term("CommandBinding"),Y.Namespace.RDFS.term("subClassOf"),Y.Namespace.EXO.term("Asset"))),e}generatePropertyHierarchyTriples(){let e=[];return e.push(new Zt.Triple(Y.Namespace.EXO.term("Instance_class"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDF.term("type"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Asset_isDefinedBy"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDFS.term("isDefinedBy"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Class_superClass"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDFS.term("subClassOf"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Property_range"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDFS.term("range"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Property_domain"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDFS.term("domain"))),e.push(new Zt.Triple(Y.Namespace.EXO.term("Property_superProperty"),Y.Namespace.RDFS.term("subPropertyOf"),Y.Namespace.RDFS.term("subPropertyOf"))),e}generateMappedTriple(e,t,r){let i=this.propertyMappings.get(t);if(!i)return null;let s;if(r instanceof rx.IRI)s=r;else{let a=r.match(/^(ems|exo|exocmd)__(.+)$/);if(a){let[,c,l]=a;s=(c==="ems"?Y.Namespace.EMS:c==="exocmd"?Y.Namespace.EXOCMD:Y.Namespace.EXO).term(l)}else s=new rx.IRI(r)}return new Zt.Triple(e,i,s)}hasMappingFor(e){return this.propertyMappings.has(e)}};Up.RDFVocabularyMapper=oS});var nx=b(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});Wp.RDFSInferenceEngine=void 0;var n8=Qn(),qp=Ae(),lS=class{static{o(this,"RDFSInferenceEngine")}async materialize(e){let t=await e.predicates(),r=t.find(d=>d.value.includes("Class_superClass")),i=t.find(d=>d.value.includes("Instance_class"));if(!r||!i)return 0;let s=await this.buildDirectParentMap(e,r);if(s.size===0)return 0;let a=this.computeAllAncestors(s),c=await e.count(),l=await e.match(void 0,i),u=[];for(let d of l)if(d.object instanceof qp.IRI){let h=a.get(d.object.value);if(h)for(let p of h)u.push(new n8.Triple(d.subject,i,new qp.IRI(p)))}return u.length>0&&await e.addAll(u),await e.count()-c}async buildDirectParentMap(e,t){let r=await e.match(void 0,t),i=new Map;for(let s of r)if(s.subject instanceof qp.IRI&&s.object instanceof qp.IRI){let a=s.subject.value,c=s.object.value;i.has(a)||i.set(a,new Set),i.get(a).add(c)}return i}computeAllAncestors(e){let t=new Map;for(let r of e.keys())t.has(r)||t.set(r,this.computeAncestorsBFS(r,e));return t}computeAncestorsBFS(e,t){let r=new Set,i=new Set,s=[],a=t.get(e);if(a)for(let c of a)s.push(c);for(;s.length>0;){let c=s.shift();if(i.has(c))continue;i.add(c),r.add(c);let l=t.get(c);if(l)for(let u of l)i.has(u)||s.push(u)}return r}};Wp.RDFSInferenceEngine=lS});var dS=b(Vo=>{"use strict";var i8=Vo&&Vo.__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};Object.defineProperty(Vo,"__esModule",{value:!0});Vo.NonInheritablePropertyRegistry=void 0;var s8=xe(),ix=Ae(),sx=ke(),uS=gr(),fS=class{static{o(this,"NonInheritablePropertyRegistry")}constructor(){this.nonInheritableIRIs=new Set,this.initialized=!1}async initialize(e){this.nonInheritableIRIs.clear();try{let t=await e.predicates(),r=t.find(c=>c.value.includes("Instance_class"));if(!r){this.initialized=!0;return}let i=await this.findNonInheritableClassIRI(e,t);if(!i){this.initialized=!0;return}let s=await e.match(void 0,r,i);if(s.length===0){this.initialized=!0;return}let a=t.find(c=>c.value.includes("Asset_label"));if(!a){this.initialized=!0;return}for(let c of s){let l=await e.match(c.subject,a,void 0);for(let u of l)if(u.object instanceof sx.Literal){let f=u.object.value,d=this.propertyKeyToIRI(f);d&&this.nonInheritableIRIs.add(d)}}}catch{}this.initialized=!0}isNonInheritable(e){return this.nonInheritableIRIs.has(e)}get size(){return this.nonInheritableIRIs.size}get isInitialized(){return this.initialized}async findNonInheritableClassIRI(e,t){let r=t.find(a=>a.value.includes("Asset_label"));if(!r)return null;let i=await e.match(void 0,r,new sx.Literal("exo__NonInheritableProperty"));if(i.length>0&&i[0].subject instanceof ix.IRI)return i[0].subject;let s=t.find(a=>a.value.includes("Instance_class"));if(s){let a=await e.match(void 0,s,void 0);for(let c of a)if(c.object instanceof ix.IRI&&c.object.value.includes("NonInheritableProperty"))return c.object}return null}propertyKeyToIRI(e){return e.startsWith("exo__")?uS.Namespace.EXO.term(e.substring(5)).value:e.startsWith("ems__")?uS.Namespace.EMS.term(e.substring(5)).value:e.startsWith("exocmd__")?uS.Namespace.EXOCMD.term(e.substring(8)).value:null}};Vo.NonInheritablePropertyRegistry=fS;Vo.NonInheritablePropertyRegistry=fS=i8([(0,s8.injectable)()],fS)});var mS=b(Bo=>{"use strict";var a8=Bo&&Bo.__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};Object.defineProperty(Bo,"__esModule",{value:!0});Bo.PropertyCardinalityRegistry=void 0;var o8=xe(),ax=Ae(),ox=ke(),hS=gr(),pS=class{static{o(this,"PropertyCardinalityRegistry")}constructor(){this.multiValuedIRIs=new Set,this.initialized=!1}async initialize(e){this.multiValuedIRIs.clear();try{let t=await e.predicates(),r=t.find(c=>c.value.includes("Property_cardinality"));if(!r){this.initialized=!0;return}let i=await this.findMultipleCardinalityIRI(e,t);if(!i){this.initialized=!0;return}let s=await e.match(void 0,r,i);if(s.length===0){this.initialized=!0;return}let a=t.find(c=>c.value.includes("Asset_label"));if(!a){this.initialized=!0;return}for(let c of s){let l=await e.match(c.subject,a,void 0);for(let u of l)if(u.object instanceof ox.Literal){let f=u.object.value,d=this.propertyKeyToIRI(f);d&&this.multiValuedIRIs.add(d)}}}catch{}this.initialized=!0}isMultiValued(e){return this.multiValuedIRIs.has(e)}get size(){return this.multiValuedIRIs.size}get isInitialized(){return this.initialized}async findMultipleCardinalityIRI(e,t){let r=t.find(a=>a.value.includes("Asset_label"));if(!r)return null;let i=await e.match(void 0,r,new ox.Literal("exo__PropertyCardinalityMultiple"));if(i.length>0&&i[0].subject instanceof ax.IRI)return i[0].subject;let s=t.find(a=>a.value.includes("Instance_class"));if(s){let a=await e.match(void 0,s,void 0);for(let c of a)if(c.object instanceof ax.IRI&&c.object.value.includes("PropertyCardinalityMultiple"))return c.object}return null}propertyKeyToIRI(e){return e.startsWith("exo__")?hS.Namespace.EXO.term(e.substring(5)).value:e.startsWith("ems__")?hS.Namespace.EMS.term(e.substring(5)).value:e.startsWith("exocmd__")?hS.Namespace.EXOCMD.term(e.substring(8)).value:null}};Bo.PropertyCardinalityRegistry=pS;Bo.PropertyCardinalityRegistry=pS=a8([(0,o8.injectable)()],pS)});var _S=b(_r=>{"use strict";var c8=_r&&_r.__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},l8=_r&&_r.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(_r,"__esModule",{value:!0});_r.PrototypeChainMaterializer=_r.MAX_PROTOTYPE_DEPTH=_r.INFERRED_GRAPH=void 0;_r.inferredGraphForDepth=gS;var u8=xe(),cx=Qn(),ja=Ae(),f8=dS(),d8=mS();_r.INFERRED_GRAPH=new ja.IRI("https://exocortex.my/ontology/exo#inferred");var h8="https://exocortex.my/ontology/exo#inferred/";function gS(n){return new ja.IRI(`${h8}${n}`)}o(gS,"inferredGraphForDepth");_r.MAX_PROTOTYPE_DEPTH=10;var yS=class{static{o(this,"PrototypeChainMaterializer")}constructor(e,t){this.registry=e,this.cardinalityRegistry=t??null}async materialize(e){let r=(await e.predicates()).find(c=>c.value.includes("Asset_prototype"));if(!r)return 0;let i=await e.match(void 0,r,void 0);if(i.length===0)return 0;let s=new Map;for(let c of i)if(c.subject instanceof ja.IRI&&c.object instanceof ja.IRI){let l=c.subject.value,u=c.object.value;l!==u&&s.set(l,c.object)}if(s.size===0)return 0;let a=0;for(let[c]of s){let l=new ja.IRI(c),u=this.resolveChain(c,s);if(u.length===0)continue;let f=await e.match(l,void 0,void 0),d=new Set,h=new Map;for(let p of f)if(d.add(p.predicate.value),this.isMultiValued(p.predicate.value)){let y=p.object instanceof ja.IRI?p.object.value:String(p.object),S=h.get(p.predicate.value);S||(S=new Set,h.set(p.predicate.value,S)),S.add(y)}for(let p=0;p<u.length;p++){let y=u[p],S=p+1,v=new ja.IRI(y),w=await e.match(v,void 0,void 0),T=new Set;if(e.matchInGraph){let R=await e.matchInGraph(v,void 0,void 0,_r.INFERRED_GRAPH);for(let $ of R)T.add($.predicate.value)}for(let R of w){let $=R.predicate.value;if(this.registry.isNonInheritable($)||T.has($))continue;if(d.has($)&&this.isMultiValued($)){let ne=R.object instanceof ja.IRI?R.object.value:String(R.object);if(h.get($)?.has(ne))continue;let U=h.get($);U||(U=new Set,h.set($,U)),U.add(ne);let O=new cx.Triple(l,R.predicate,R.object);await e.add(O),e.addToGraph&&(await e.addToGraph(O,_r.INFERRED_GRAPH),await e.addToGraph(O,gS(S))),a++;continue}if(d.has($))continue;let V=new cx.Triple(l,R.predicate,R.object);await e.add(V),e.addToGraph&&(await e.addToGraph(V,_r.INFERRED_GRAPH),await e.addToGraph(V,gS(S))),d.add($),a++}}}return a}isMultiValued(e){return this.cardinalityRegistry?this.cardinalityRegistry.isMultiValued(e):!1}resolveChain(e,t){let r=[],i=new Set;i.add(e);let s=[],a=t.get(e);for(a&&s.push(a.value);s.length>0&&r.length<_r.MAX_PROTOTYPE_DEPTH;){let c=s.shift();if(c===void 0)break;if(i.has(c))continue;i.add(c),r.push(c);let l=t.get(c);l&&!i.has(l.value)&&s.push(l.value)}return r}};_r.PrototypeChainMaterializer=yS;_r.PrototypeChainMaterializer=yS=c8([(0,u8.injectable)(),l8("design:paramtypes",[f8.NonInheritablePropertyRegistry,d8.PropertyCardinalityRegistry])],yS)});var SS=b(ur=>{"use strict";var p8=ur&&ur.__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},m8=ur&&ur.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)};Object.defineProperty(ur,"__esModule",{value:!0});ur.SourceAnnotator=ur.DEPTH_VARIABLE=ur.SOURCE_VARIABLE=void 0;var g8=xe(),cl=ke(),y8=Ae(),Gp=_S();ur.SOURCE_VARIABLE="_source";ur.DEPTH_VARIABLE="_depth";var bS=class{static{o(this,"SourceAnnotator")}constructor(e){this.tripleStore=e}async annotate(e,t,r,i){if(!this.tripleStore.matchInGraph)return e.map(a=>{let c=a.clone();return c.set(ur.SOURCE_VARIABLE,new cl.Literal("own")),c});let s=[];for(let a of e){let c=a.get(t),l=a.get(r),u=a.get(i),f=a.clone();if(!c||!l||!u)f.set(ur.SOURCE_VARIABLE,new cl.Literal("own"));else{let d=await this.determineSource(c,l,u);f.set(ur.SOURCE_VARIABLE,new cl.Literal(d))}s.push(f)}return s}async annotateSingle(e,t,r,i){return(await this.annotate([e],t,r,i))[0]}async determineSource(e,t,r){return this.tripleStore.matchInGraph&&(await this.tripleStore.matchInGraph(e,t,r,Gp.INFERRED_GRAPH)).length>0?"inherited":"own"}async getInheritanceDepth(e,t,r){if(!this.tripleStore.matchInGraph)return 0;for(let i=1;i<=Gp.MAX_PROTOTYPE_DEPTH;i++){let s=(0,Gp.inferredGraphForDepth)(i);if((await this.tripleStore.matchInGraph(e,t,r,s)).length>0)return i}return 0}async annotateBySubject(e,t){if(!this.tripleStore.matchInGraph)return e.map(s=>{let a=s.clone();return a.set(ur.SOURCE_VARIABLE,new cl.Literal("own")),a});let r=[],i=new Map;for(let s of e){let a=s.get(t),c=s.clone();if(!a||!(a instanceof y8.IRI))c.set(ur.SOURCE_VARIABLE,new cl.Literal("own"));else{let l=a.value;if(!i.has(l)){let f=await this.tripleStore.matchInGraph(a,void 0,void 0,Gp.INFERRED_GRAPH);i.set(l,f.length>0?"inherited":"own")}let u=i.get(l)??"own";c.set(ur.SOURCE_VARIABLE,new cl.Literal(u))}r.push(c)}return r}};ur.SourceAnnotator=bS;ur.SourceAnnotator=bS=p8([(0,g8.injectable)(),m8("design:paramtypes",[Object])],bS)});var vS=b(ki=>{"use strict";var _8=ki&&ki.__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},b8=ki&&ki.__metadata||function(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)},lx=ki&&ki.__param||function(n,e){return function(t,r){e(t,r,n)}};Object.defineProperty(ki,"__esModule",{value:!0});ki.NoteToRDFConverter=void 0;var wS=xe(),fr=Qn(),Ma=Ae(),dn=ke(),ux=$t(),zt=gr(),fx=Rt(),S8=cS(),w8=bc(),dx=aS(),xn=_0(),v8=new Set(["archived","draft","pinned"]),ll=class{static{o(this,"NoteToRDFConverter")}constructor(e,t=w8.NullLogger){this.vault=e,this.logger=t,this.BODY_WIKILINK_PATTERN=/(?<!!)\[\[([^\]|]+)(?:\|[^\]]+)?\]\]/g,this.pendingExtraTriples=[],this.vocabularyMapper=new S8.RDFVocabularyMapper}async convertNote(e){let t=this.vault.getFrontmatter(e);return t?xn.Exo003Parser.isExo003Format(t)?this.convertExo003Note(e,t):this.convertLegacyNote(e,t):[]}async convertLegacyNote(e,t){this.pendingExtraTriples=[];let r=[],i=this.notePathToIRI(e.path),s=zt.Namespace.EXO.term("Asset_fileName");r.push(new fr.Triple(i,s,new dn.Literal(e.basename)));for(let[f,d]of Object.entries(t)){let h=v8.has(f)?`exo__Asset_${f}`:f;if(!this.isExocortexProperty(h))continue;let p=this.propertyKeyToIRI(h),y=Array.isArray(d)?d:[d];for(let S of y)if(!(f==="exo__Asset_label"&&typeof S=="string"&&S.trim()===""))if(f==="exo__Instance_class"){let v=this.valueToClassURI(S);r.push(new fr.Triple(i,p,v))}else{let v=await this.valueToRDFObject(S,e,p);for(let w of v)if(r.push(new fr.Triple(i,p,w)),this.vocabularyMapper.hasMappingFor(f)&&w instanceof Ma.IRI){let T=this.vocabularyMapper.generateMappedTriple(i,f,w);T&&r.push(T)}}if(f==="exo__Instance_class")for(let S of y){let v=this.valueToClassURI(S);if(v instanceof Ma.IRI){let w=zt.Namespace.RDF.term("type");r.push(new fr.Triple(i,w,v))}}if(f==="exo__Asset_label"){let S=zt.Namespace.RDFS.term("label");for(let v of y)typeof v=="string"&&v.length>0&&r.push(new fr.Triple(i,S,new dn.Literal(v)))}}let a="exo__Instance_class"in t||"exo__Asset_uid"in t,c=t.exo__Asset_label,l="exo__Asset_label"in t&&c!==null&&c!==void 0&&!(typeof c=="string"&&c.trim()==="")&&!(Array.isArray(c)&&c.length===0);if(a&&!l){let f=zt.Namespace.RDFS.term("label"),d=zt.Namespace.EXO.term("Asset_label"),h=new dn.Literal(e.basename);r.push(new fr.Triple(i,f,h)),r.push(new fr.Triple(i,d,h))}r.push(...this.pendingExtraTriples),this.pendingExtraTriples=[];let u=await this.convertBodyWikilinks(e,i);return r.push(...u),r}async convertExo003Note(e,t){let r=xn.Exo003Parser.parse(t);if(!r.success||!r.metadata)return[];let i=r.metadata,s=[];switch(i.metadata){case xn.Exo003MetadataType.Namespace:break;case xn.Exo003MetadataType.Anchor:s.push(...this.convertExo003Anchor(e,i));break;case xn.Exo003MetadataType.BlankNode:s.push(...this.convertExo003BlankNode(e,i));break;case xn.Exo003MetadataType.Statement:s.push(...this.convertExo003Statement(e,i));break;case xn.Exo003MetadataType.Body:s.push(...await this.convertExo003Body(e,i));break}return s}convertExo003Anchor(e,t){let r=this.notePathToIRI(e.path),i=new Ma.IRI(t.uri);return[new fr.Triple(r,zt.Namespace.OWL.term("sameAs"),i),new fr.Triple(i,zt.Namespace.OWL.term("sameAs"),r)]}convertExo003BlankNode(e,t){let r=this.notePathToIRI(e.path),i=t.uri.replace(/[^a-zA-Z0-9_-]/g,"_");return[new fr.Triple(r,zt.Namespace.OWL.term("sameAs"),new ux.BlankNode(i))]}convertExo003Statement(e,t){let r=[];try{let i=this.createExo003ReferenceResolver(e),s=xn.Exo003Parser.toTriple(t,i);r.push(s);let a=this.notePathToIRI(e.path);r.push(new fr.Triple(a,zt.Namespace.RDF.term("value"),s.subject))}catch{}return r}async convertExo003Body(e,t){let r=[];try{let i=await this.vault.read(e),s=this.extractBodyContent(i),a=this.createExo003ReferenceResolver(e),c=a(t.subject),l=a(t.predicate);if(c.type==="literal")throw new Error("Body subject cannot be a literal");if(l.type!=="iri")throw new Error("Body predicate must be an IRI");let u=c.type==="iri"?new Ma.IRI(c.value):new ux.BlankNode(c.value),f=new Ma.IRI(l.value),d=xn.Exo003Parser.toLiteral(t,s.trim());r.push(new fr.Triple(u,f,d));let h=this.notePathToIRI(e.path);r.push(new fr.Triple(h,zt.Namespace.RDF.term("value"),u))}catch{}return r}createExo003ReferenceResolver(e){return t=>{let r=this.extractWikilink(t),i=r||t,s=this.vault.getFirstLinkpathDest(i,e.path);if(s){let a=this.vault.getFrontmatter(s);if(a&&xn.Exo003Parser.isExo003Format(a)){let c=xn.Exo003Parser.parse(a);if(c.success&&c.metadata){let l=c.metadata;if(l.metadata===xn.Exo003MetadataType.Anchor||l.metadata===xn.Exo003MetadataType.Namespace)return{type:"iri",value:l.uri};if(l.metadata===xn.Exo003MetadataType.BlankNode)return{type:"blank",value:l.uri.replace(/[^a-zA-Z0-9_-]/g,"_")}}}return{type:"iri",value:this.notePathToIRI(s.path).value}}return!r&&t.includes("://")?{type:"iri",value:t}:{type:"literal",value:t}}}async convertVault(){return(await this.convertVaultWithValidation({strict:!1})).triples}async convertVaultWithValidation(e={}){let t=this.vault.getAllFiles(),r=[],i=[],s=e.strict??!1;for(let a of t)try{let c=this.vault.getFrontmatter(a),l=c?this.validateExocortexAsset(c,a.basename):null;if(l){if(s)throw new Error(`Invariant violation in "${a.path}": ${l.message}`);i.push({path:a.path,reason:`Invariant violation: ${l.message}`}),this.logger.warn(`Skipping file with invariant violation: ${a.path}`,{code:l.code,property:l.property,reason:l.message});continue}let u=await this.convertNote(a);r.push(...u)}catch(c){let l=c instanceof Error?c.message:String(c);if(s)throw new Error(`Invalid IRI for file "${a.path}": ${l}`);i.push({path:a.path,reason:`Invalid IRI: ${l}`}),this.logger.warn(`Skipping file with invalid IRI: ${a.path}`,{reason:l})}return{triples:r,skippedFiles:i,summary:{total:t.length,indexed:t.length-i.length,skipped:i.length}}}static inferLabelFromBasename(e){return zt.Namespace.fromPropertyKey(e)!==null?e:null}validateExocortexAsset(e,t){let r=o(d=>d==null?!0:typeof d=="string"?d.trim()==="":Array.isArray(d)?d.length===0||d.every(r):!1,"isEmpty");if(!("exo__Instance_class"in e||"exo__Asset_uid"in e))return null;let s=["exo__Asset_uid","exo__Instance_class"];for(let d of s){if(!(d in e))return{code:"MISSING_PROPERTY",property:d,message:`Required property "${d}" is missing`};if(r(e[d]))return{code:"EMPTY_PROPERTY",property:d,message:`Required property "${d}" is empty`}}let a=["ems__Effort_status","ems__Effort_parent","ems__Effort_lockedBy","ems__Effort_lockExpires","exo__Asset_updatedAt","ems__Effort_startTimestamp"];for(let d of a)if(d in e&&r(e[d]))return{code:"EMPTY_OPTIONAL_PROPERTY",property:d,message:`Optional property "${d}" is present but empty`};let c=e.exo__Instance_class,l=Array.isArray(c)?c:[c],u=null,f=!1;for(let d of l){if(typeof d!="string")continue;let h=this.removeQuotes(d),y=(this.extractWikilink(h)??h).trim();/^[a-z][a-zA-Z0-9]*__/.test(y)&&/[\s()]/.test(y)?u||(u={candidate:d}):f=!0}return u&&!f?{code:"INVALID_INSTANCE_CLASS_IRI",property:"exo__Instance_class",message:`Invalid Instance_class IRI: "${u.candidate}"`}:null}async validateVault(){let e=this.vault.getAllFiles(),t=[];for(let r of e){let i=(0,dx.vaultPathToIRI)(r.path);Ma.IRI.isValidIRI(i)||t.push({path:r.path,reason:`Path "${r.path}" cannot be converted to a valid IRI`})}return t}notePathToIRI(e){return new Ma.IRI((0,dx.vaultPathToIRI)(e))}isExocortexProperty(e){return zt.Namespace.fromPropertyKey(e)!==null}propertyKeyToIRI(e){let t=zt.Namespace.fromPropertyKey(e);if(!t)throw new Error(`Invalid property key: ${e}`);return t.namespace.term(t.localName)}emitTypeTripleForEnumInstance(e,t){let r=this.vault.getFrontmatter(t);if(!r)return;let i=r.exo__Instance_class,s=Array.isArray(i)?i[0]:i;if(typeof s!="string")return;let a=this.valueToClassURI(s);a instanceof Ma.IRI&&(this.pendingExtraTriples.push(new fr.Triple(e,zt.Namespace.RDF.term("type"),a)),this.pendingExtraTriples.push(new fr.Triple(e,zt.Namespace.EXO.term("Instance_class"),a)))}async valueToRDFObject(e,t,r){if(typeof e=="string"){let i=this.removeQuotes(e),s=this.extractWikilink(i);if(s){let a=this.vault.getFirstLinkpathDest(s,t.path);if(a){let l=this.notePathToIRI(a.path),u=s.includes("|")?s.split("|")[0]:s;if(this.isUUID(u)){let d=new dn.Literal(u),h=this.expandClassValue(a.basename);if(h)return this.emitTypeTripleForEnumInstance(h,a),[h];let p=this.vault.getFrontmatter(a);if(p){let S=p.exo__Asset_label;if(typeof S=="string"){let v=this.expandClassValue(S);if(v)return this.emitTypeTripleForEnumInstance(v,a),[v]}}return r?.value.endsWith("#Asset_prototype")||r?.value.endsWith("/Asset_prototype")?[l,d]:[l]}let f=this.expandClassValue(a.basename);return f?(this.emitTypeTripleForEnumInstance(f,a),[f]):[l]}if(this.isClassReference(s)){let l=this.expandClassValue(s);if(l)return[l]}let c=s.includes("|")?s.split("|")[0]:s;return this.isUUID(c)?[this.notePathToIRI(`${c}.md`)]:[new dn.Literal(i)]}if(this.isClassReference(i)){let a=this.expandClassValue(i);if(a)return[a]}return this.isISO8601DateTime(i)?[new dn.Literal(i,zt.Namespace.XSD.term("dateTime"))]:[new dn.Literal(i)]}return typeof e=="boolean"?[new dn.Literal(e.toString())]:typeof e=="number"?[new dn.Literal(e.toString(),zt.Namespace.XSD.term("decimal"))]:e instanceof Date?[new dn.Literal(e.toISOString(),zt.Namespace.XSD.term("dateTime"))]:[new dn.Literal(String(e))]}isISO8601DateTime(e){return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?(Z|[+-]\d{2}:\d{2})?$/.test(e)}removeQuotes(e){let t=e.trim();return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.substring(1,t.length-1):e}extractWikilink(e){let t=e.match(/^\[\[([^\]]+)\]\]$/);if(!t)return null;let r=t[1];return r.includes("|")?r.split("|")[0]:r}extractWikilinkAlias(e){let t=e.match(/^\[\[([^\]]+)\]\]$/);if(!t)return null;let r=t[1],i=r.indexOf("|");return i>=0?r.substring(i+1).trim():null}valueToClassURI(e){if(typeof e!="string")return new dn.Literal(String(e));let t=this.removeQuotes(e),i=this.extractWikilink(t)||t,s=this.expandClassValue(i);if(s)return s;let a=this.extractWikilinkAlias(t);if(a){let c=this.expandClassValue(a);if(c)return c}if(this.isUUID(i)){let c=this.vault.getFirstLinkpathDest(i,"");if(c){let l=this.expandClassValue(c.basename);if(l)return l;let u=this.vault.getFrontmatter(c);if(u){let f=u.exo__Asset_label;if(typeof f=="string"){let d=this.expandClassValue(f);if(d)return d}}}}return new dn.Literal(t)}isClassReference(e){return/\s/.test(e)?!1:zt.Namespace.fromPropertyKey(e)!==null}isUUID(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}expandClassValue(e){let t=this.removeQuotes(e),r=zt.Namespace.fromPropertyKey(t);return!r||/[\s()]/.test(r.localName)?null:r.namespace.term(r.localName)}extractBodyContent(e){let t=/^---\r?\n[\s\S]*?\r?\n---\r?\n?/;return e.replace(t,"")}extractBodyWikilinks(e){let t=new Set,r,i=new RegExp(this.BODY_WIKILINK_PATTERN.source,"g");for(;(r=i.exec(e))!==null;)r[1]&&t.add(r[1]);return Array.from(t)}async convertBodyWikilinks(e,t){let r=[];try{let i=await this.vault.read(e),s=this.extractBodyContent(i),a=this.extractBodyWikilinks(s),c=zt.Namespace.EXO.term("Asset_bodyLink");for(let l of a){let u=this.vault.getFirstLinkpathDest(l,e.path);if(u){let f=this.notePathToIRI(u.path);r.push(new fr.Triple(t,c,f))}else if(this.isClassReference(l)){let f=this.expandClassValue(l);f?r.push(new fr.Triple(t,c,f)):r.push(new fr.Triple(t,c,new dn.Literal(l)))}else r.push(new fr.Triple(t,c,new dn.Literal(l)))}}catch{}return r}};ki.NoteToRDFConverter=ll;ll.SkippedFileInfo=class{constructor(n,e){this.path=n,this.reason=e}};ll.VaultValidationResult=class{constructor(n,e,t){this.triples=n,this.skippedFiles=e,this.summary=t}};ll.VaultValidationOptions=class{constructor(n=!1){this.strict=n}};ki.NoteToRDFConverter=ll=_8([(0,wS.injectable)(),lx(0,(0,wS.inject)(fx.DI_TOKENS.IVaultAdapter)),lx(1,(0,wS.inject)(fx.DI_TOKENS.ILogger)),b8("design:paramtypes",[Object,Object])],ll)});var TS=b(zp=>{"use strict";Object.defineProperty(zp,"__esModule",{value:!0});zp.FilterContainsOptimizer=void 0;var E8=Ae(),T8=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i,ES=class{static{o(this,"FilterContainsOptimizer")}constructor(){this.tripleStore=null,this.lastOptimizationHints=[]}setTripleStore(e){this.tripleStore=e}getLastOptimizationHints(){return this.lastOptimizationHints}clearHints(){this.lastOptimizationHints=[]}async optimize(e){return this.clearHints(),this.optimizeRecursive(e)}optimizeSync(e,t){return this.clearHints(),this.optimizeSyncRecursive(e,t)}async optimizeRecursive(e){return e.type==="filter"?this.optimizeFilter(e):e.type==="join"?{type:"join",left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="leftjoin"?{...e,left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="union"?{type:"union",left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="minus"?{...e,left:await this.optimizeRecursive(e.left),right:await this.optimizeRecursive(e.right)}:e.type==="project"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="orderby"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="slice"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="distinct"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="reduced"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="group"?{...e,input:await this.optimizeRecursive(e.input)}:e.type==="extend"?{...e,input:await this.optimizeRecursive(e.input)}:e}optimizeSyncRecursive(e,t){return e.type==="filter"?this.optimizeFilterSync(e,t):e.type==="join"?{type:"join",left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="leftjoin"?{...e,left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="union"?{type:"union",left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="minus"?{...e,left:this.optimizeSyncRecursive(e.left,t),right:this.optimizeSyncRecursive(e.right,t)}:e.type==="project"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="orderby"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="slice"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="distinct"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="reduced"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="group"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e.type==="extend"?{...e,input:this.optimizeSyncRecursive(e.input,t)}:e}async optimizeFilter(e){let t=this.detectContainsUUIDPattern(e.expression);if(!t)return{type:"filter",expression:e.expression,input:await this.optimizeRecursive(e.input)};let r=[];return this.tripleStore&&(r=await this.findSubjectsContainingUUID(t.uuid)),this.rewriteFilter(e,t,r)}optimizeFilterSync(e,t){let r=this.detectContainsUUIDPattern(e.expression);if(!r)return{type:"filter",expression:e.expression,input:this.optimizeSyncRecursive(e.input,t)};let i=t?t.filter(s=>s.includes(r.uuid)):[];return this.rewriteFilter(e,r,i)}rewriteFilter(e,t,r){if(this.lastOptimizationHints.push({type:"uuid-index-lookup",originalPattern:`FILTER(CONTAINS(STR(?${t.variable}), "${t.uuid}"))`,suggestedRewrite:r.length===1?`VALUES ?${t.variable} { <${r[0]}> }`:r.length>1?`VALUES ?${t.variable} { ${r.map(i=>`<${i}>`).join(" ")} }`:"No matching URIs found for UUID",estimatedSpeedup:r.length>0?"O(n) \u2192 O(1)":"N/A",matchedUri:r.length===1?r[0]:void 0}),r.length===0)return{type:"filter",expression:e.expression,input:this.optimizeSyncRecursive(e.input)};if(r.length===1){let i=this.injectSubjectConstraint(e.input,t.variable,r[0]);if(i!==e.input)return i}return this.createValuesJoin(e,t,r)}detectContainsUUIDPattern(e){if(e.type==="function"||e.type==="functionCall"){let t=e;if((typeof t.function=="string"?t.function.toLowerCase():t.function?.value?.toLowerCase()??"")==="contains"&&t.args.length===2)return this.analyzeContainsArgs(t.args[0],t.args[1],e)}if(e.type==="logical"&&e.operator==="&&")for(let t of e.operands){let r=this.detectContainsUUIDPattern(t);if(r)return r}return null}analyzeContainsArgs(e,t,r){let i=null;if(e.type==="function"||e.type==="functionCall"){let s=e;if((typeof s.function=="string"?s.function.toLowerCase():s.function?.value?.toLowerCase()??"")==="str"&&s.args.length===1){let c=s.args[0];c.type==="variable"&&(i=c.name)}}if(!i&&e.type==="variable"&&(i=e.name),!i)return null;if(t.type==="literal"){let c=String(t.value).match(T8);if(c)return{variable:i,uuid:c[0].toLowerCase(),originalExpression:r}}return null}async findSubjectsContainingUUID(e){if(!this.tripleStore)return[];if(this.tripleStore.findSubjectsByUUID)return(await this.tripleStore.findSubjectsByUUID(e)).map(s=>s.value);let t=await this.tripleStore.subjects(),r=[];for(let i of t)i instanceof E8.IRI&&i.value.toLowerCase().includes(e.toLowerCase())&&r.push(i.value);return r}injectSubjectConstraint(e,t,r){if(e.type==="bgp"){let i=e.triples.map(a=>a.subject.type==="variable"&&a.subject.value===t?{...a,subject:{type:"iri",value:r}}:a);if(i.some((a,c)=>a.subject!==e.triples[c].subject))return{type:"bgp",triples:i}}if(e.type==="join"){let i=this.injectSubjectConstraint(e.left,t,r),s=this.injectSubjectConstraint(e.right,t,r);if(i!==e.left||s!==e.right)return{type:"join",left:i,right:s}}if(e.type==="filter"){let i=this.injectSubjectConstraint(e.input,t,r);if(i!==e.input)return{...e,input:i}}return e}createValuesJoin(e,t,r){return{type:"join",left:{type:"values",variables:[t.variable],bindings:r.map(a=>({[t.variable]:{type:"iri",value:a}}))},right:this.optimizeSyncRecursive(e.input)}}analyzeQuery(e){let t=[];return this.analyzeRecursive(e,t),t}analyzeRecursive(e,t){if(e.type==="filter"){let r=this.detectContainsUUIDPattern(e.expression);r&&t.push({type:"uuid-index-lookup",originalPattern:`FILTER(CONTAINS(STR(?${r.variable}), "${r.uuid}"))`,suggestedRewrite:`Use --optimize flag or rewrite as VALUES ?${r.variable} { <uri-containing-uuid> }`,estimatedSpeedup:"O(n) \u2192 O(1) with UUID index lookup"}),this.analyzeRecursive(e.input,t);return}e.type==="join"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="leftjoin"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="union"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="minus"?(this.analyzeRecursive(e.left,t),this.analyzeRecursive(e.right,t)):e.type==="project"?this.analyzeRecursive(e.input,t):e.type==="orderby"?this.analyzeRecursive(e.input,t):e.type==="slice"?this.analyzeRecursive(e.input,t):e.type==="distinct"?this.analyzeRecursive(e.input,t):e.type==="reduced"?this.analyzeRecursive(e.input,t):e.type==="group"?this.analyzeRecursive(e.input,t):e.type==="extend"&&this.analyzeRecursive(e.input,t)}};zp.FilterContainsOptimizer=ES});var hx=b(Hp=>{"use strict";Object.defineProperty(Hp,"__esModule",{value:!0});Hp.AlgebraOptimizer=void 0;var A8=TS(),AS=class{static{o(this,"AlgebraOptimizer")}constructor(){this.stats=new Map,this.tripleStore=null,this.filterContainsOptimizer=new A8.FilterContainsOptimizer}setTripleStore(e){this.tripleStore=e,this.filterContainsOptimizer.setTripleStore(e)}getOptimizationHints(){return this.filterContainsOptimizer.getLastOptimizationHints()}analyzeQuery(e){return this.filterContainsOptimizer.analyzeQuery(e)}optimize(e){let t=e;return t=this.eliminateEmptyBGPInFilterJoin(t),t=this.filterPushDown(t),t=this.joinReordering(t),t}async optimizeAsync(e){let t=e;return t=this.eliminateEmptyBGPInFilterJoin(t),this.tripleStore&&(t=await this.filterContainsOptimizer.optimize(t)),t=this.filterPushDown(t),t=this.joinReordering(t),t}optimizeWithSubjects(e,t){let r=e;return r=this.eliminateEmptyBGPInFilterJoin(r),r=this.filterContainsOptimizer.optimizeSync(r,t),r=this.filterPushDown(r),r=this.joinReordering(r),r}eliminateEmptyBGPInFilterJoin(e){if(e.type==="join"){if(e.left.type==="filter"){let t=e.left;if(t.input.type==="bgp"&&t.input.triples.length===0)return{type:"filter",expression:t.expression,input:this.eliminateEmptyBGPInFilterJoin(e.right)}}if(e.right.type==="filter"){let t=e.right;if(t.input.type==="bgp"&&t.input.triples.length===0)return{type:"filter",expression:t.expression,input:this.eliminateEmptyBGPInFilterJoin(e.left)}}return{type:"join",left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}}return e.type==="filter"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="leftjoin"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="union"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="minus"?{...e,left:this.eliminateEmptyBGPInFilterJoin(e.left),right:this.eliminateEmptyBGPInFilterJoin(e.right)}:e.type==="project"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="orderby"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="slice"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e.type==="distinct"?{...e,input:this.eliminateEmptyBGPInFilterJoin(e.input)}:e}filterPushDown(e){return e.type==="filter"?this.pushDownFilter(e):e.type==="join"?{type:"join",left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="leftjoin"?{...e,left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="union"?{type:"union",left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="minus"?{...e,left:this.filterPushDown(e.left),right:this.filterPushDown(e.right)}:e.type==="project"?{...e,input:this.filterPushDown(e.input)}:e.type==="orderby"?{...e,input:this.filterPushDown(e.input)}:e.type==="slice"?{...e,input:this.filterPushDown(e.input)}:e.type==="distinct"?{...e,input:this.filterPushDown(e.input)}:e}pushDownFilter(e){let t=e.input;if(t.type==="join"){let r=this.getFilterVariables(e.expression),i=this.getOperationVariables(t.left),s=this.getOperationVariables(t.right),a=r.every(l=>i.has(l)),c=r.every(l=>s.has(l));return a&&!c?{type:"join",left:{type:"filter",expression:e.expression,input:this.filterPushDown(t.left)},right:this.filterPushDown(t.right)}:c&&!a?{type:"join",left:this.filterPushDown(t.left),right:{type:"filter",expression:e.expression,input:this.filterPushDown(t.right)}}:{type:"filter",expression:e.expression,input:{type:"join",left:this.filterPushDown(t.left),right:this.filterPushDown(t.right)}}}return t.type==="union"?{type:"union",left:{type:"filter",expression:e.expression,input:this.filterPushDown(t.left)},right:{type:"filter",expression:e.expression,input:this.filterPushDown(t.right)}}:{type:"filter",expression:e.expression,input:this.filterPushDown(t)}}getFilterVariables(e){let t=[];if(e.type==="variable")t.push(e.name);else if(e.type==="comparison")t.push(...this.getFilterVariables(e.left)),t.push(...this.getFilterVariables(e.right));else if(e.type==="logical")for(let r of e.operands)t.push(...this.getFilterVariables(r));else if(e.type==="function")for(let r of e.args)t.push(...this.getFilterVariables(r));return Array.from(new Set(t))}getOperationVariables(e){let t=new Set;if(e.type==="bgp")for(let r of e.triples)r.subject.type==="variable"&&t.add(r.subject.value),r.predicate.type==="variable"&&t.add(r.predicate.value),r.object.type==="variable"&&t.add(r.object.value);else if(e.type==="join"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else{if(e.type==="filter")return this.getOperationVariables(e.input);if(e.type==="leftjoin"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else if(e.type==="union"){let r=this.getOperationVariables(e.left),i=this.getOperationVariables(e.right);return new Set([...r,...i])}else{if(e.type==="minus")return this.getOperationVariables(e.left);if(e.type==="project")return new Set(e.variables)}}return t}joinReordering(e){return e.type==="join"?this.reorderJoin(e):e.type==="filter"?{...e,input:this.joinReordering(e.input)}:e.type==="leftjoin"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="union"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="minus"?{...e,left:this.joinReordering(e.left),right:this.joinReordering(e.right)}:e.type==="project"?{...e,input:this.joinReordering(e.input)}:e.type==="orderby"?{...e,input:this.joinReordering(e.input)}:e.type==="slice"?{...e,input:this.joinReordering(e.input)}:e.type==="distinct"?{...e,input:this.joinReordering(e.input)}:e}reorderJoin(e){let t=this.isConstrained(e.left),r=this.isConstrained(e.right);if(r&&!t)return{type:"join",left:this.joinReordering(e.right),right:this.joinReordering(e.left)};if(t&&!r)return{type:"join",left:this.joinReordering(e.left),right:this.joinReordering(e.right)};let i=this.estimateCost(e.left);return this.estimateCost(e.right)<i?{type:"join",left:this.joinReordering(e.right),right:this.joinReordering(e.left)}:{type:"join",left:this.joinReordering(e.left),right:this.joinReordering(e.right)}}isConstrained(e){return e.type==="values"?!0:e.type==="bgp"?e.triples.some(t=>t.object.type!=="variable"||t.subject.type!=="variable"):e.type==="filter"?this.isConstrained(e.input):e.type==="join"?this.isConstrained(e.left)||this.isConstrained(e.right):e.type==="union"?this.isConstrained(e.left)&&this.isConstrained(e.right):!1}estimateCost(e){if(e.type==="bgp"){let t=0;for(let r of e.triples){let i=10;r.subject.type==="variable"&&(i*=10),r.predicate.type==="variable"&&(i*=20),r.object.type==="variable"&&(i*=5),t+=i}return t}if(e.type==="filter")return this.estimateCost(e.input)*.3;if(e.type==="join"){let t=this.estimateCost(e.left),r=this.estimateCost(e.right);return e.left.type==="values"||e.right.type==="values"?Math.min(t,r)*2:t*r}if(e.type==="leftjoin")return this.estimateCost(e.left)+this.estimateCost(e.right)*.5;if(e.type==="union")return this.estimateCost(e.left)+this.estimateCost(e.right);if(e.type==="values"){let t=e.bindings;return Array.isArray(t)?t.length*5:10}return e.type==="minus"?this.estimateCost(e.left)+this.estimateCost(e.right)*.3:100}setStatistics(e,t){this.stats.set(e,t)}getStatistics(e){return this.stats.get(e)}};Hp.AlgebraOptimizer=AS});var px=b(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});Qp.AlgebraSerializer=void 0;var xS=class{static{o(this,"AlgebraSerializer")}toString(e,t=0){let r=" ".repeat(t);switch(e.type){case"bgp":return`${r}BGP [
376
376
  ${e.triples.map(u=>`${r} ${this.tripleToString(u)}`).join(`
377
377
  `)}
378
378
  ${r}]`;case"filter":return`${r}Filter(
@@ -450,7 +450,7 @@ To resolve:
450
450
  \u2022 Verify all required dependencies are available
451
451
  \u2022 Review service logs for detailed error information
452
452
  \u2022 Contact support if the issue persists`}};wm.ServiceError=sw});var Zx=b(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.ServiceError=rr.ResourceExhaustedError=rr.NotFoundError=rr.PermissionError=rr.StateTransitionError=rr.NetworkError=rr.ValidationError=rr.ApplicationError=rr.ErrorCode=void 0;var fV=ms();Object.defineProperty(rr,"ErrorCode",{enumerable:!0,get:o(function(){return fV.ErrorCode},"get")});var dV=gs();Object.defineProperty(rr,"ApplicationError",{enumerable:!0,get:o(function(){return dV.ApplicationError},"get")});var hV=zx();Object.defineProperty(rr,"ValidationError",{enumerable:!0,get:o(function(){return hV.ValidationError},"get")});var pV=Hx();Object.defineProperty(rr,"NetworkError",{enumerable:!0,get:o(function(){return pV.NetworkError},"get")});var mV=Qx();Object.defineProperty(rr,"StateTransitionError",{enumerable:!0,get:o(function(){return mV.StateTransitionError},"get")});var gV=Kx();Object.defineProperty(rr,"PermissionError",{enumerable:!0,get:o(function(){return gV.PermissionError},"get")});var yV=Yx();Object.defineProperty(rr,"NotFoundError",{enumerable:!0,get:o(function(){return yV.NotFoundError},"get")});var _V=Xx();Object.defineProperty(rr,"ResourceExhaustedError",{enumerable:!0,get:o(function(){return _V.ResourceExhaustedError},"get")});var bV=Jx();Object.defineProperty(rr,"ServiceError",{enumerable:!0,get:o(function(){return bV.ServiceError},"get")})});var ow=b(vm=>{"use strict";Object.defineProperty(vm,"__esModule",{value:!0});vm.ShapeRegistry=void 0;var aw=class{static{o(this,"ShapeRegistry")}constructor(){this.shapes=new Map}get(e){return this.shapes.get(e)}register(e){this.shapes.set(e.propertyIRI,e)}getAll(){return Array.from(this.shapes.values())}get size(){return this.shapes.size}};vm.ShapeRegistry=aw});var fw=b(ys=>{"use strict";var SV=ys&&ys.__createBinding||(Object.create?(function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(n,r,i)}):(function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]})),wV=ys&&ys.__setModuleDefault||(Object.create?(function(n,e){Object.defineProperty(n,"default",{enumerable:!0,value:e})}):function(n,e){n.default=e}),cw=ys&&ys.__importStar||(function(){var n=o(function(e){return n=Object.getOwnPropertyNames||function(t){var r=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[r.length]=i);return r},n(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=n(e),i=0;i<r.length;i++)r[i]!=="default"&&SV(t,e,r[i]);return wV(t,e),t}})();Object.defineProperty(ys,"__esModule",{value:!0});ys.ShapeLoader=void 0;var lw=ow(),Uo=Ae(),af=ke(),Hr=gr(),Em="http://www.w3.org/ns/shacl#",vV="http://www.w3.org/2001/XMLSchema#",Ioe=[["exo__",Hr.Namespace.EXO],["ems__",Hr.Namespace.EMS],["exocmd__",Hr.Namespace.EXOCMD],["ims__",Hr.Namespace.IMS],["ztlk__",Hr.Namespace.ZTLK],["ptms__",Hr.Namespace.PTMS],["lit__",Hr.Namespace.LIT],["inbox__",Hr.Namespace.INBOX],["pmbok__",Hr.Namespace.PMBOK]],uw=class n{static{o(this,"ShapeLoader")}static async loadFromVaultFS(e){let{readdir:t,readFile:r}=await Promise.resolve().then(()=>cw(require("fs/promises"))),i=await Promise.resolve().then(()=>cw(require("path"))),s=new lw.ShapeRegistry;return await n.scanDir(e,s,{readdir:t,readFile:r,path:i}),s}static async loadFromRDFGraph(e){let t=new lw.ShapeRegistry,r=Hr.Namespace.EXO,i=Hr.Namespace.RDFS,s=Hr.Namespace.RDF,[a,c]=await Promise.all([e.match(void 0,s.term("type"),r.term("ObjectProperty")),e.match(void 0,s.term("type"),r.term("Property"))]),l=new Set;for(let u of[...a,...c])u.subject instanceof Uo.IRI&&l.add(u.subject.value);for(let u of l){let f;try{f=new Uo.IRI(u)}catch{continue}let[d,h,p,y,S,v,w,T,R]=await Promise.all([e.match(f,i.term("domain"),void 0),e.match(f,r.term("Property_domain"),void 0),e.match(f,i.term("range"),void 0),e.match(f,r.term("Property_range"),void 0),e.match(f,r.term("Property_cardinality"),void 0),e.match(f,r.term("Property_severity"),void 0),e.match(f,r.term("Asset_label"),void 0),e.match(f,i.term("label"),void 0),e.match(f,r.term("Property_minCount"),void 0)]),$=[...w,...T],V=[...d,...h],ne=[...p,...y];if(V.length===0)continue;let k=null;for(let we of $)if(we.object instanceof af.Literal&&(k=n.labelToIRI(we.object.value),k))break;if(!k)continue;let U=await Promise.all(V.map(async we=>we.object instanceof Uo.IRI?await n.resolveClassIRI(we.object.value,e):null)),O=Array.from(new Set(U.filter(we=>we!==null))),D=await Promise.all(ne.map(async we=>{if(we.object instanceof Uo.IRI)return await n.resolveClassIRI(we.object.value,e);if(we.object instanceof af.Literal){let Z=we.object.value;if(Z.startsWith("http://")||Z.startsWith("https://"))return Z}return null})),J=Array.from(new Set(D.filter(we=>we!==null))),qe=n.cardinalityFromIRI(S[0]?.object instanceof Uo.IRI?S[0].object.value:void 0),tt=n.severityFromValue(v[0]?.object instanceof af.Literal||v[0]?.object instanceof Uo.IRI?v[0].object.value:void 0),_t=R[0]?.object,Je=_t instanceof af.Literal?parseInt(_t.value,10):NaN,it=isNaN(Je)?void 0:Je;t.register({propertyIRI:k,domain:O,range:J.length>0?J:void 0,cardinality:qe,severity:tt,minCount:it})}return t}static async loadFromShapeJSON(e){let{readFile:t}=await Promise.resolve().then(()=>cw(require("fs/promises"))),r=await t(e,"utf-8"),i=JSON.parse(r),s=new lw.ShapeRegistry;for(let a of Object.values(i.shapes))s.register(a);return s}static async resolveClassIRI(e,t){if(e.startsWith("https://exocortex.my/ontology/")||e.startsWith("http://www.w3.org/"))return e;let r;try{r=new Uo.IRI(e)}catch{return null}let i=Hr.Namespace.RDFS,s=Hr.Namespace.EXO,[a,c]=await Promise.all([t.match(r,i.term("label"),void 0),t.match(r,s.term("Asset_label"),void 0)]);for(let l of[...a,...c])if(l.object instanceof af.Literal){let u=n.labelToIRI(l.object.value);if(u)return u}return e}static async scanDir(e,t,r){let i;try{i=await r.readdir(e,{withFileTypes:!0})}catch{return}for(let s of i){let a=r.path.join(e,s.name);if(s.isDirectory())await n.scanDir(a,t,r);else if(s.isFile()&&s.name.endsWith(".md"))try{await n.processFile(a,t,r.readFile,r.path)}catch{}}}static async processFile(e,t,r,i){let s;try{s=await r(e,"utf-8")}catch{return}let a=n.parseFrontmatter(s);if(!a)return;let c="38277bfa-d7f9-4a75-b856-b23276ab0db3",l="9a1cf31c-9d41-4ef3-9023-584a8d087d16";if(!n.asArray(a.exo__Instance_class).some(O=>{let D=n.extractWikilinkRef(O);return D==="exo__Property"||D==="exo__ObjectProperty"||D===c||D===l||D?.includes("|exo__Property")||D?.includes("|exo__ObjectProperty")}))return;let d=null,h=a.exo__Asset_label;if(typeof h=="string"&&h.trim().length>0)d=h.trim();else if(i){let O=i.basename(e,".md");Hr.Namespace.fromPropertyKey(O)&&(d=O)}if(!d)return;let p=n.labelToIRI(d);if(!p)return;let y=a.exo__Property_domain,S=a.exo__Property_range,v=a.exo__Property_cardinality,w=a.exo__Property_severity,T=a.exo__Property_minCount,R=n.asArray(y).map(O=>n.wikilinkToIRI(O)).filter(O=>O!==null);if(R.length===0)return;let $=n.asArray(S).map(O=>n.wikilinkToIRI(O)).filter(O=>O!==null),V=n.cardinalityFromLabel(typeof v=="string"?v:void 0),ne=n.severityFromValue(typeof w=="string"?w:void 0),k=typeof T=="string"?parseInt(T,10):void 0,U=k!==void 0&&!isNaN(k)?k:void 0;t.register({propertyIRI:p,domain:R,range:$.length>0?$:void 0,cardinality:V,severity:ne,minCount:U})}static parseFrontmatter(e){let t=/^---\r?\n([\s\S]*?)\r?\n---/.exec(e);if(!t)return null;let r=t[1],i={},s=r.split(/\r?\n/),a=null,c=null;for(let l of s){let u=/^ {2}- (.*)$/.exec(l);if(u){a&&c&&c.push(u[1].trim());continue}a&&c&&(i[a]=c,a=null,c=null);let f=/^([^:]+):\s*(.*)$/.exec(l);if(!f)continue;let d=f[1].trim(),h=f[2].trim();h===""?(a=d,c=[]):i[d]=h}return a&&c&&(i[a]=c),i}static labelToIRI(e){let t=Hr.Namespace.fromPropertyKey(e);if(!t)return null;try{return t.namespace.term(t.localName).value}catch{return null}}static extractWikilinkRef(e){let t=e.replace(/^["']|["']$/g,""),r=/\[\[([^\]]+)\]\]/.exec(t);return r?r[1]:t}static wikilinkToIRI(e){let t=n.extractWikilinkRef(e);if(!t)return null;let r=t.split("|"),i=r.length>1?[r[1],r[0]]:[r[0]];for(let s of i){let a=n.labelToIRI(s.trim());if(a)return a}return t.startsWith("http")?t:t.startsWith("sh:")?Em+t.substring(3):t.startsWith("xsd:")?vV+t.substring(4):null}static asArray(e){return Array.isArray(e)?e.map(String):typeof e=="string"?[e]:[]}static cardinalityFromIRI(e){if(e){if(e.endsWith("PropertyCardinalitySingle"))return"Single";if(e.endsWith("PropertyCardinalityMultiple"))return"Multiple"}}static cardinalityFromLabel(e){if(!e)return;let t=n.extractWikilinkRef(e)??e,r=t.split("|").pop()??t;if(r.includes("Single"))return"Single";if(r.includes("Multiple"))return"Multiple"}static severityFromValue(e){return!e||e.includes("Violation")||e===Em+"Violation"?"sh:Violation":e.includes("Warning")||e===Em+"Warning"?"sh:Warning":e.includes("Info")||e===Em+"Info"?"sh:Info":"sh:Violation"}};ys.ShapeLoader=uw});var hw=b(of=>{"use strict";Object.defineProperty(of,"__esModule",{value:!0});of.ShapeRegistry=void 0;of.validate=CV;var dw=class{static{o(this,"ShapeRegistry")}constructor(e=[],t="https://exocortex.my/ontology/exo#Instance_class"){this.shapeMap=new Map(e.map(r=>[r.propertyIRI,r])),this.typePredicateIRI=t}getShape(e){return this.shapeMap.get(e)}getAllShapes(){return Array.from(this.shapeMap.values())}hasShape(e){return this.shapeMap.has(e)}};of.ShapeRegistry=dw;var EV="http://www.w3.org/1999/02/22-rdf-syntax-ns#type",TV=["http://www.w3.org/2001/XMLSchema#","http://www.w3.org/1999/02/22-rdf-syntax-ns#","http://www.w3.org/2000/01/rdf-schema#","http://www.w3.org/2002/07/owl#","http://www.w3.org/2004/02/skos/core#","http://purl.org/dc/elements/1.1/","http://purl.org/dc/terms/","http://xmlns.com/foaf/0.1/","https://schema.org/","https://exocortex.my/ontology/xsd#","https://exocortex.my/ontology/rdf#","https://exocortex.my/ontology/rdfs#","https://exocortex.my/ontology/owl#","https://exocortex.my/ontology/skos#"];function AV(n){return TV.some(e=>n.startsWith(e))}o(AV,"isExternalOntologyIRI");var xV=["http://www.w3.org/2001/XMLSchema#","https://exocortex.my/ontology/xsd#"];function IV(n){return xV.some(e=>n.startsWith(e))}o(IV,"isXSDDatatypeIRI");function CV(n,e,t,r){let i=new Map,s=new Map;for(let l of n){let{subject:u,predicate:f,object:d}=l;if(u.type!=="iri"||f.type!=="iri"||d.type!=="iri"&&d.type!=="literal")continue;let h=u.value,p=f.value,y=d;if(p===e.typePredicateIRI||p===EV){if(y.type==="iri"){let v=i.get(h)??[];v.push(y.value),i.set(h,v)}}else{let v=s.get(h);v||(v=new Map,s.set(h,v));let w=v.get(p)??[];w.push(y),v.set(p,w)}}let a=[],c=new Set([...i.keys(),...s.keys()]);for(let l of c){let u=i.get(l)??[],f=s.get(l)??new Map;for(let d of e.getAllShapes()){if(!(d.domain.length===0||d.domain.some(y=>u.some(S=>S===y||t.isSubClassOf(S,y)))))continue;let p=f.get(d.propertyIRI)??[];if(d.minCount!==void 0&&d.minCount>0&&p.length<d.minCount){a.push({focusNode:l,propertyPath:d.propertyIRI,severity:d.severity,message:d.message??`sh:minCount violation: expected at least ${d.minCount} value(s) for <${d.propertyIRI}>`});continue}if(p.length!==0){if(d.cardinality==="Single"&&p.length>1){a.push({focusNode:l,propertyPath:d.propertyIRI,severity:d.severity,message:d.message??`sh:maxCount violation: expected at most 1 value for <${d.propertyIRI}>, got ${p.length}`});continue}if(d.range&&d.range.length>0){for(let y of p)if(y.type==="iri"){if(AV(y.value))continue;let S=i.get(y.value)??[];d.range.some(w=>S.some(T=>T===w||t.isSubClassOf(T,w)))||a.push({focusNode:l,propertyPath:d.propertyIRI,severity:d.severity,message:d.message??`sh:class violation: <${y.value}> does not conform to expected class ${d.range.join(" | ")}`,actualValue:y.value,expectedRange:d.range.join(" | ")})}else if(y.type==="literal"){let S=d.range.filter(T=>IV(T));if(S.length===0)continue;let v=y.datatype??"http://www.w3.org/2001/XMLSchema#string";S.some(T=>T===v)||a.push({focusNode:l,propertyPath:d.propertyIRI,severity:d.severity,message:d.message??`sh:datatype violation: literal "${y.value}" has datatype <${v}>, expected ${S.join(" | ")}`,actualValue:y.value,expectedRange:S.join(" | ")})}}}}}if(r?.closedWorldMode)for(let l of c){let u=s.get(l)??new Map;for(let f of u.keys())e.hasShape(f)||a.push({focusNode:l,propertyPath:f,severity:"sh:Warning",message:`Unknown property: <${f}> has no registered shape`})}return a.sort((l,u)=>{let f=l.focusNode.localeCompare(u.focusNode);return f!==0?f:l.propertyPath.localeCompare(u.propertyPath)}),{conforms:!a.some(l=>l.severity==="sh:Violation"),violations:a}}o(CV,"validate")});var eI=b(Tm=>{"use strict";Object.defineProperty(Tm,"__esModule",{value:!0});Tm.ApplicationErrorHandler=void 0;var pw=gs(),RV=ms(),OV=Da(),mw=class{static{o(this,"ApplicationErrorHandler")}constructor(e={},t,r){this.logger=t,this.notifier=r,this.telemetryHooks=new Set,this.retryConfig={maxRetries:e.maxRetries??3,initialDelayMs:e.initialDelayMs??1e3,backoffMultiplier:e.backoffMultiplier??2,maxDelayMs:e.maxDelayMs??1e4}}handle(e,t){let r=this.ensureApplicationError(e,t);return this.notifier&&this.notifier.error(r.message),this.callTelemetryHooks("onError",r,t),this.formatError(r)}async executeWithRetry(e,t){let r,i=0;for(;i<=this.retryConfig.maxRetries;)try{return await e()}catch(s){if(r=this.ensureApplicationError(s,t),!r.retriable||i>=this.retryConfig.maxRetries)throw this.callTelemetryHooks("onError",r,t),i>=this.retryConfig.maxRetries&&r.retriable&&this.callTelemetryHooks("onRetryExhausted",r,i+1),r;let a=this.calculateDelay(i);this.callTelemetryHooks("onRetry",r,i+1,a),this.logger?.debug(`Retrying after ${a}ms (attempt ${i+1}/${this.retryConfig.maxRetries})`),await this.sleep(a),i++}throw r}registerTelemetryHook(e){this.telemetryHooks.add(e)}unregisterTelemetryHook(e){this.telemetryHooks.delete(e)}ensureApplicationError(e,t){if(e instanceof pw.ApplicationError){if(t){let i=e,s={...e.context,...t};return new class extends pw.ApplicationError{constructor(){super(...arguments),this.code=i.code,this.retriable=i.retriable,this.guidance=i.guidance}}(e.message,s)}return e}return new class extends pw.ApplicationError{static{o(this,"UnknownError")}constructor(s,a){super(s,{originalError:a.name,...t}),this.code=RV.ErrorCode.UNKNOWN_ERROR,this.retriable=!1,this.guidance="An unexpected error occurred"}}(e.message,e)}formatError(e){let t=[];return t.push(`\u274C ${e.name}: ${e.message}`),e.guidance&&t.push(`\u{1F4A1} ${e.guidance}`),e.context&&Object.keys(e.context).length>0&&t.push(`Context: ${JSON.stringify(e.context,null,2)}`),t.join(`
453
- `)}calculateDelay(e){let t=this.retryConfig.initialDelayMs*Math.pow(this.retryConfig.backoffMultiplier,e);return Math.min(t,this.retryConfig.maxDelayMs)}sleep(e){return new Promise(t=>setTimeout(t,e))}callTelemetryHooks(e,...t){for(let r of this.telemetryHooks)try{let i=r[e];i&&i.apply(r,t)}catch(i){OV.LoggingService.error("Error in telemetry hook",i instanceof Error?i:new Error(String(i)))}}};Tm.ApplicationErrorHandler=mw});var tI=b(Am=>{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.ApplicationErrorHandler=void 0;var PV=eI();Object.defineProperty(Am,"ApplicationErrorHandler",{enumerable:!0,get:o(function(){return PV.ApplicationErrorHandler},"get")})});var yw=b(xm=>{"use strict";Object.defineProperty(xm,"__esModule",{value:!0});xm.ClassHierarchy=void 0;var FV="http://www.w3.org/2000/01/rdf-schema#subClassOf",gw=class{static{o(this,"ClassHierarchy")}constructor(e){this.adjacency=new Map;for(let t of e){if(t.predicate.type!=="iri"||t.predicate.value!==FV||t.subject.type!=="iri"||t.object.type!=="iri")continue;let r=t.subject.value,i=t.object.value,s=this.adjacency.get(r);s||(s=new Set,this.adjacency.set(r,s)),s.add(i)}}isSubClassOf(e,t){if(e===t)return!0;let r=new Set,i=[e];for(;i.length>0;){let s=i.shift();if(s===void 0)break;if(r.has(s))continue;r.add(s);let a=this.adjacency.get(s);if(a)for(let c of a){if(c===t)return!0;r.has(c)||i.push(c)}}return!1}getAncestors(e){let t=new Set,r=new Set,i=[e];for(;i.length>0;){let s=i.shift();if(s===void 0)break;if(r.has(s))continue;r.add(s);let a=this.adjacency.get(s);if(a)for(let c of a)t.add(c),r.has(c)||i.push(c)}return t}};xm.ClassHierarchy=gw});var nI=b(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});_s.ValidatorDaemon=_s.IDLE_TIMEOUT_MS=_s.DEFAULT_SOCKET_PATH=void 0;var rI=hw(),DV=fw(),NV=yw();_s.DEFAULT_SOCKET_PATH=`${process.env.HOME??process.env.USERPROFILE??"/tmp"}/.cache/exocortex/validator.sock`;_s.IDLE_TIMEOUT_MS=300*1e3;var _w=class{static{o(this,"ValidatorDaemon")}constructor(e=_s.DEFAULT_SOCKET_PATH,t=_s.IDLE_TIMEOUT_MS){this.registryCache=new Map,this.server=null,this.idleTimer=null,this.socketPath=e,this.idleTimeoutMs=t}async start(){let e=require("net"),t=require("fs/promises"),r=require("path");await t.mkdir(r.dirname(this.socketPath),{recursive:!0});try{await t.unlink(this.socketPath)}catch{}this.server=e.createServer(a=>{this.handleConnection(a)});let i=this.server;await new Promise((a,c)=>{i.on("error",c),i.listen(this.socketPath,a)}),this.resetIdleTimer();let s=o(()=>{this.stop()},"handleSignal");process.once("SIGTERM",s),process.once("SIGINT",s)}async stop(){if(this.idleTimer!==null&&(clearTimeout(this.idleTimer),this.idleTimer=null),!this.server)return;let e=this.server;this.server=null,await new Promise(t=>{e.close(()=>t())})}resetIdleTimer(){this.idleTimer!==null&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{process.exit(0)},this.idleTimeoutMs)}handleConnection(e){let t="";e.setEncoding("utf-8"),e.on("data",r=>{t+=r;let i=t.split(`
453
+ `)}calculateDelay(e){let t=this.retryConfig.initialDelayMs*Math.pow(this.retryConfig.backoffMultiplier,e);return Math.min(t,this.retryConfig.maxDelayMs)}sleep(e){return new Promise(t=>setTimeout(t,e))}callTelemetryHooks(e,...t){for(let r of this.telemetryHooks)try{let i=r[e];i&&i.apply(r,t)}catch(i){OV.LoggingService.error("Error in telemetry hook",i instanceof Error?i:new Error(String(i)))}}};Tm.ApplicationErrorHandler=mw});var tI=b(Am=>{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.ApplicationErrorHandler=void 0;var PV=eI();Object.defineProperty(Am,"ApplicationErrorHandler",{enumerable:!0,get:o(function(){return PV.ApplicationErrorHandler},"get")})});var yw=b(xm=>{"use strict";Object.defineProperty(xm,"__esModule",{value:!0});xm.ClassHierarchy=void 0;var FV="http://www.w3.org/2000/01/rdf-schema#subClassOf",gw=class{static{o(this,"ClassHierarchy")}constructor(e){this.adjacency=new Map;for(let t of e){if(t.predicate.type!=="iri"||t.predicate.value!==FV||t.subject.type!=="iri"||t.object.type!=="iri")continue;let r=t.subject.value,i=t.object.value,s=this.adjacency.get(r);s||(s=new Set,this.adjacency.set(r,s)),s.add(i)}}isSubClassOf(e,t){if(e===t)return!0;let r=new Set,i=[e];for(;i.length>0;){let s=i.shift();if(s===void 0)break;if(r.has(s))continue;r.add(s);let a=this.adjacency.get(s);if(a)for(let c of a){if(c===t)return!0;r.has(c)||i.push(c)}}return!1}getAncestors(e){let t=new Set,r=new Set,i=[e];for(;i.length>0;){let s=i.shift();if(s===void 0)break;if(r.has(s))continue;r.add(s);let a=this.adjacency.get(s);if(a)for(let c of a)t.add(c),r.has(c)||i.push(c)}return t}};xm.ClassHierarchy=gw});var nI=b(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});_s.ValidatorDaemon=_s.IDLE_TIMEOUT_MS=_s.DEFAULT_SOCKET_PATH=void 0;var rI=hw(),DV=fw(),NV=yw();_s.DEFAULT_SOCKET_PATH=typeof process<"u"&&process.env?`${process.env.HOME??process.env.USERPROFILE??"/tmp"}/.cache/exocortex/validator.sock`:"/tmp/.cache/exocortex/validator.sock";_s.IDLE_TIMEOUT_MS=300*1e3;var _w=class{static{o(this,"ValidatorDaemon")}constructor(e=_s.DEFAULT_SOCKET_PATH,t=_s.IDLE_TIMEOUT_MS){this.registryCache=new Map,this.server=null,this.idleTimer=null,this.socketPath=e,this.idleTimeoutMs=t}async start(){let e=require("net"),t=require("fs/promises"),r=require("path");await t.mkdir(r.dirname(this.socketPath),{recursive:!0});try{await t.unlink(this.socketPath)}catch{}this.server=e.createServer(a=>{this.handleConnection(a)});let i=this.server;await new Promise((a,c)=>{i.on("error",c),i.listen(this.socketPath,a)}),this.resetIdleTimer();let s=o(()=>{this.stop()},"handleSignal");process.once("SIGTERM",s),process.once("SIGINT",s)}async stop(){if(this.idleTimer!==null&&(clearTimeout(this.idleTimer),this.idleTimer=null),!this.server)return;let e=this.server;this.server=null,await new Promise(t=>{e.close(()=>t())})}resetIdleTimer(){this.idleTimer!==null&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{process.exit(0)},this.idleTimeoutMs)}handleConnection(e){let t="";e.setEncoding("utf-8"),e.on("data",r=>{t+=r;let i=t.split(`
454
454
  `);t=i.pop()??"";for(let s of i){let a=s.trim();a&&this.handleRequest(a,e)}}),e.on("error",()=>{e.destroy()})}async handleRequest(e,t){this.resetIdleTimer();let r;try{let i=JSON.parse(e),s=await this.getRegistry(i.registryPath),a=new NV.ClassHierarchy(i.subclassTriples??[]);r={report:(0,rI.validate)(i.triples,s,a,{closedWorldMode:i.closedWorldMode})}}catch(i){r={error:i instanceof Error?i.message:String(i)}}t.destroyed||t.write(JSON.stringify(r)+`
455
455
  `)}async getRegistry(e){let t=this.registryCache.get(e);if(t)return t;let r=await DV.ShapeLoader.loadFromShapeJSON(e),i=new rI.ShapeRegistry(r.getAll());return this.registryCache.set(e,i),i}};_s.ValidatorDaemon=_w});var Sr=b(m=>{"use strict";var LV=m&&m.__createBinding||(Object.create?(function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[t]},"get")}),Object.defineProperty(n,r,i)}):(function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]})),ti=m&&m.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&LV(e,n,t)};Object.defineProperty(m,"__esModule",{value:!0});m.PropertyCleanupService=m.LoggingService=m.LabelToAliasService=m.FolderRepairService=m.EffortVotingService=m.WorkflowCommandAdapter=m.VisibilityGenerator=m.InstantiationRuleResolver=m.WorkflowResolver=m.WorkflowEngine=m.EffortStatusWorkflow=m.ConceptCreationService=m.ClassCreationService=m.AreaHierarchyBuilder=m.AreaCreationService=m.TaskStatusService=m.CommandExecutionFlow=m.ServiceRegistry=m.GroundingExecutor=m.PreconditionEvaluator=m.CommandResolver=m.extractPropertyLabel=m.uriToPropertyName=m.propertyNameToUri=m.rangeToFieldType=m.PropertyFieldType=m.isCommandBindingFrontmatter=m.isGroundingFrontmatter=m.isPreconditionFrontmatter=m.isCommandFrontmatter=m.isStyleSource=m.isLabelClass=m.isCommandVariant=m.STYLE_SOURCE_VALUES=m.LABEL_CLASS_VALUES=m.COMMAND_VARIANT_VALUES=m.CommandBindingStyleProperty=m.CommandBindingProperty=m.GroundingProperty=m.PreconditionProperty=m.CommandProperty=m.GroundingType=m.getEffortStatusLabel=m.isTrashedStatus=m.isDoneStatus=m.normalizeEffortStatus=m.EFFORT_STATUS_OPTIONS=m.STATUS_NAME_TO_WIKILINK=m.STATUS_NAME_TO_ENUM=m.EFFORT_STATUS_CONFIG=void 0;m.RDFVocabularyMapper=m.DomainTriple=m.DomainBlankNode=m.DomainLiteral=m.DomainIRI=m.InMemoryTripleStore=m.OBSIDIAN_VAULT_SCHEME=m.vaultPathToIRI=m.NullLogger=m.RDFSerializer=m.FilenameValidator=m.EffortSortingHelpers=m.MetadataExtractor=m.MetadataHelpers=m.WikiLinkHelpers=m.DateFormatter=m.FrontmatterService=m.CriticalityZoneUUIDs=m.CriticalityZoneService=m.getTemplateByName=m.validateParameters=m.fillTemplate=m.findMatchingTemplates=m.findClassByTerm=m.KNOWN_CLASSES=m.KNOWN_PROTOTYPES=m.EFFORT_STATUSES=m.ASSET_CLASSES=m.PREDICATES=m.SPARQL_PREFIXES=m.SPARQL_TEMPLATES=m.DEFAULT_NL_TO_SPARQL_CONFIG=m.NLToSPARQLService=m.TypeRegistry=m.GraphQueryService=m.FixMissingLabelService=m.ArchiveAssetService=m.GenericAssetCreationService=m.URIConstructionService=m.SessionEventService=m.AssetConversionService=m.EnumValueResolver=m.ClassHierarchyResolver=m.PropertySchemaResolver=m.PlanningService=m.AlgorithmExtractor=m.DynamicFrontmatterGenerator=m.SupervisionCreationService=m.StatusTimestampService=m.RenameToUidService=void 0;m.CaseWhenTransformerError=m.CaseWhenTransformer=m.ResultSerializer=m.createIncrementalIndexer=m.IncrementalIndexer=m.createSPARQLResultCache=m.SPARQLResultCache=m.QueryPlanCache=m.createDoubleLiteral=m.createDecimalLiteral=m.getNumericValue=m.createPercentileAggregate=m.modeAggregate=m.stddevAggregate=m.varianceAggregate=m.medianAggregate=m.EXO_AGGREGATE_NS=m.BUILT_IN_AGGREGATES=m.CustomAggregateError=m.CustomAggregateRegistry=m.AggregateFunctions=m.BuiltInFunctions=m.SolutionMapping=m.UpdateExecutorError=m.UpdateExecutor=m.QueryExecutor=m.ExoQLQueryExecutor=m.DescribeExecutor=m.ConstructExecutor=m.UnionExecutor=m.OptionalExecutor=m.FilterExecutor=m.BGPExecutor=m.AlgebraSerializer=m.AlgebraOptimizer=m.AlgebraTranslator=m.ExoQLAlgebraTranslator=m.DescribeOptionsTransformerError=m.DescribeOptionsTransformer=m.SPARQLParseError=m.SPARQLParser=m.ExoQLParser=m.NoteToRDFConverter=m.SOURCE_VARIABLE=m.SourceAnnotator=m.INFERRED_GRAPH=m.PrototypeChainMaterializer=m.PropertyCardinalityRegistry=m.NonInheritablePropertyRegistry=m.RDFSInferenceEngine=void 0;m.selectByPriority=m.LayoutSelector=m.isPropertiesBlock=m.isLayoutBlockFrontmatter=m.isBacklinksTableBlock=m.createLayoutBlockFromFrontmatter=m.PROPERTIES_BLOCK_CLASS_UID=m.PROPERTIES_BLOCK_CLASS_IRI=m.BACKLINKS_TABLE_BLOCK_CLASS_UID=m.BACKLINKS_TABLE_BLOCK_CLASS_IRI=m.isLayoutFrontmatter=m.isLayout=m.createLayoutFromFrontmatter=m.LAYOUT_CLASS_UID=m.LAYOUT_CLASS_IRI=m.RelationColumnSetResolver=m.normalizeRelationColumnSetRef=m.isRelationColumnSetFrontmatter=m.isRelationColumnSet=m.createRelationColumnSetFromFrontmatter=m.RELATION_COLUMN_SET_CLASS_UID=m.RELATION_COLUMN_SET_CLASS_IRI=m.ExoQLError=m.ExoQL=m.createStreamingSource=m.StreamingLoader=m.resetGlobalPool=m.getGlobalPool=m.MemoryPool=m.CompactGraphStore=m.StringTable=m.DEFAULT_COLORS=m.NODE_FLAGS=m.container=m.resetContainer=m.getContainer=m.createChildContainer=m.registerCoreServices=m.DI_TOKENS=m.DEFAULT_FLEETING_NOTE_CLASS_UID=m.DEFAULT_INBOX_FOLDER=m.DEFAULT_OWNER_IDENTITY=m.VaultSettings=m.TransactionError=m.TripleNotFoundError=m.TripleAlreadyExistsError=m.FileAlreadyExistsError=m.FileNotFoundError=m.FilterContainsOptimizer=m.VaultPrefixTransformer=void 0;m.TripleClassHierarchy=m.IDLE_TIMEOUT_MS=m.DEFAULT_SOCKET_PATH=m.ValidatorDaemon=m.ShaclShapeRegistry=m.shaclValidate=m.Namespace=m.ShapeRegistry=m.ShapeLoader=void 0;ti(hu(),m);ti(dc(),m);var Ba=Dy();Object.defineProperty(m,"EFFORT_STATUS_CONFIG",{enumerable:!0,get:o(function(){return Ba.EFFORT_STATUS_CONFIG},"get")});Object.defineProperty(m,"STATUS_NAME_TO_ENUM",{enumerable:!0,get:o(function(){return Ba.STATUS_NAME_TO_ENUM},"get")});Object.defineProperty(m,"STATUS_NAME_TO_WIKILINK",{enumerable:!0,get:o(function(){return Ba.STATUS_NAME_TO_WIKILINK},"get")});Object.defineProperty(m,"EFFORT_STATUS_OPTIONS",{enumerable:!0,get:o(function(){return Ba.EFFORT_STATUS_OPTIONS},"get")});Object.defineProperty(m,"normalizeEffortStatus",{enumerable:!0,get:o(function(){return Ba.normalizeEffortStatus},"get")});Object.defineProperty(m,"isDoneStatus",{enumerable:!0,get:o(function(){return Ba.isDoneStatus},"get")});Object.defineProperty(m,"isTrashedStatus",{enumerable:!0,get:o(function(){return Ba.isTrashedStatus},"get")});Object.defineProperty(m,"getEffortStatusLabel",{enumerable:!0,get:o(function(){return Ba.getEffortStatusLabel},"get")});var kV=hc();Object.defineProperty(m,"GroundingType",{enumerable:!0,get:o(function(){return kV.GroundingType},"get")});var cf=Ny();Object.defineProperty(m,"CommandProperty",{enumerable:!0,get:o(function(){return cf.CommandProperty},"get")});Object.defineProperty(m,"PreconditionProperty",{enumerable:!0,get:o(function(){return cf.PreconditionProperty},"get")});Object.defineProperty(m,"GroundingProperty",{enumerable:!0,get:o(function(){return cf.GroundingProperty},"get")});Object.defineProperty(m,"CommandBindingProperty",{enumerable:!0,get:o(function(){return cf.CommandBindingProperty},"get")});Object.defineProperty(m,"CommandBindingStyleProperty",{enumerable:!0,get:o(function(){return cf.CommandBindingStyleProperty},"get")});var yl=Ly();Object.defineProperty(m,"COMMAND_VARIANT_VALUES",{enumerable:!0,get:o(function(){return yl.COMMAND_VARIANT_VALUES},"get")});Object.defineProperty(m,"LABEL_CLASS_VALUES",{enumerable:!0,get:o(function(){return yl.LABEL_CLASS_VALUES},"get")});Object.defineProperty(m,"STYLE_SOURCE_VALUES",{enumerable:!0,get:o(function(){return yl.STYLE_SOURCE_VALUES},"get")});Object.defineProperty(m,"isCommandVariant",{enumerable:!0,get:o(function(){return yl.isCommandVariant},"get")});Object.defineProperty(m,"isLabelClass",{enumerable:!0,get:o(function(){return yl.isLabelClass},"get")});Object.defineProperty(m,"isStyleSource",{enumerable:!0,get:o(function(){return yl.isStyleSource},"get")});var Im=E2();Object.defineProperty(m,"isCommandFrontmatter",{enumerable:!0,get:o(function(){return Im.isCommandFrontmatter},"get")});Object.defineProperty(m,"isPreconditionFrontmatter",{enumerable:!0,get:o(function(){return Im.isPreconditionFrontmatter},"get")});Object.defineProperty(m,"isGroundingFrontmatter",{enumerable:!0,get:o(function(){return Im.isGroundingFrontmatter},"get")});Object.defineProperty(m,"isCommandBindingFrontmatter",{enumerable:!0,get:o(function(){return Im.isCommandBindingFrontmatter},"get")});ti(T2(),m);ti(A2(),m);ti(ky(),m);ti(jy(),m);ti(I2(),m);ti(O2(),m);ti(_0(),m);ti(_T(),m);var iI=Yd();Object.defineProperty(m,"PropertyFieldType",{enumerable:!0,get:o(function(){return iI.PropertyFieldType},"get")});Object.defineProperty(m,"rangeToFieldType",{enumerable:!0,get:o(function(){return iI.rangeToFieldType},"get")});var bw=v0();Object.defineProperty(m,"propertyNameToUri",{enumerable:!0,get:o(function(){return bw.propertyNameToUri},"get")});Object.defineProperty(m,"uriToPropertyName",{enumerable:!0,get:o(function(){return bw.uriToPropertyName},"get")});Object.defineProperty(m,"extractPropertyLabel",{enumerable:!0,get:o(function(){return bw.extractPropertyLabel},"get")});var jV=H3();Object.defineProperty(m,"CommandResolver",{enumerable:!0,get:o(function(){return jV.CommandResolver},"get")});var MV=K3();Object.defineProperty(m,"PreconditionEvaluator",{enumerable:!0,get:o(function(){return MV.PreconditionEvaluator},"get")});var sI=Z3();Object.defineProperty(m,"GroundingExecutor",{enumerable:!0,get:o(function(){return sI.GroundingExecutor},"get")});Object.defineProperty(m,"ServiceRegistry",{enumerable:!0,get:o(function(){return sI.ServiceRegistry},"get")});var $V=eA();Object.defineProperty(m,"CommandExecutionFlow",{enumerable:!0,get:o(function(){return $V.CommandExecutionFlow},"get")});var VV=z1();Object.defineProperty(m,"TaskStatusService",{enumerable:!0,get:o(function(){return VV.TaskStatusService},"get")});var BV=Y1();Object.defineProperty(m,"AreaCreationService",{enumerable:!0,get:o(function(){return BV.AreaCreationService},"get")});var UV=J1();Object.defineProperty(m,"AreaHierarchyBuilder",{enumerable:!0,get:o(function(){return UV.AreaHierarchyBuilder},"get")});var qV=eb();Object.defineProperty(m,"ClassCreationService",{enumerable:!0,get:o(function(){return qV.ClassCreationService},"get")});var WV=rb();Object.defineProperty(m,"ConceptCreationService",{enumerable:!0,get:o(function(){return WV.ConceptCreationService},"get")});var GV=Cp();Object.defineProperty(m,"EffortStatusWorkflow",{enumerable:!0,get:o(function(){return GV.EffortStatusWorkflow},"get")});var zV=Gu();Object.defineProperty(m,"WorkflowEngine",{enumerable:!0,get:o(function(){return zV.WorkflowEngine},"get")});var HV=N1();Object.defineProperty(m,"WorkflowResolver",{enumerable:!0,get:o(function(){return HV.WorkflowResolver},"get")});var QV=pA();Object.defineProperty(m,"InstantiationRuleResolver",{enumerable:!0,get:o(function(){return QV.InstantiationRuleResolver},"get")});var KV=mA();Object.defineProperty(m,"VisibilityGenerator",{enumerable:!0,get:o(function(){return KV.VisibilityGenerator},"get")});var YV=gA();Object.defineProperty(m,"WorkflowCommandAdapter",{enumerable:!0,get:o(function(){return YV.WorkflowCommandAdapter},"get")});var XV=lb();Object.defineProperty(m,"EffortVotingService",{enumerable:!0,get:o(function(){return XV.EffortVotingService},"get")});var JV=fb();Object.defineProperty(m,"FolderRepairService",{enumerable:!0,get:o(function(){return JV.FolderRepairService},"get")});var ZV=hb();Object.defineProperty(m,"LabelToAliasService",{enumerable:!0,get:o(function(){return ZV.LabelToAliasService},"get")});var eB=Da();Object.defineProperty(m,"LoggingService",{enumerable:!0,get:o(function(){return eB.LoggingService},"get")});var tB=gb();Object.defineProperty(m,"PropertyCleanupService",{enumerable:!0,get:o(function(){return tB.PropertyCleanupService},"get")});var rB=_b();Object.defineProperty(m,"RenameToUidService",{enumerable:!0,get:o(function(){return rB.RenameToUidService},"get")});var nB=Op();Object.defineProperty(m,"StatusTimestampService",{enumerable:!0,get:o(function(){return nB.StatusTimestampService},"get")});var iB=wb();Object.defineProperty(m,"SupervisionCreationService",{enumerable:!0,get:o(function(){return iB.SupervisionCreationService},"get")});var sB=Eb();Object.defineProperty(m,"DynamicFrontmatterGenerator",{enumerable:!0,get:o(function(){return sB.DynamicFrontmatterGenerator},"get")});var aB=Ab();Object.defineProperty(m,"AlgorithmExtractor",{enumerable:!0,get:o(function(){return aB.AlgorithmExtractor},"get")});var oB=Ib();Object.defineProperty(m,"PlanningService",{enumerable:!0,get:o(function(){return oB.PlanningService},"get")});var cB=IA();Object.defineProperty(m,"PropertySchemaResolver",{enumerable:!0,get:o(function(){return cB.PropertySchemaResolver},"get")});var lB=CA();Object.defineProperty(m,"ClassHierarchyResolver",{enumerable:!0,get:o(function(){return lB.ClassHierarchyResolver},"get")});var uB=RA();Object.defineProperty(m,"EnumValueResolver",{enumerable:!0,get:o(function(){return uB.EnumValueResolver},"get")});var fB=Fb();Object.defineProperty(m,"AssetConversionService",{enumerable:!0,get:o(function(){return fB.AssetConversionService},"get")});var dB=Lb();Object.defineProperty(m,"SessionEventService",{enumerable:!0,get:o(function(){return dB.SessionEventService},"get")});var hB=Mb();Object.defineProperty(m,"URIConstructionService",{enumerable:!0,get:o(function(){return hB.URIConstructionService},"get")});var pB=Vb();Object.defineProperty(m,"GenericAssetCreationService",{enumerable:!0,get:o(function(){return pB.GenericAssetCreationService},"get")});var mB=$A();Object.defineProperty(m,"ArchiveAssetService",{enumerable:!0,get:o(function(){return mB.ArchiveAssetService},"get")});var gB=BA();Object.defineProperty(m,"FixMissingLabelService",{enumerable:!0,get:o(function(){return gB.FixMissingLabelService},"get")});var yB=UA();Object.defineProperty(m,"GraphQueryService",{enumerable:!0,get:o(function(){return yB.GraphQueryService},"get")});var _B=WA();Object.defineProperty(m,"TypeRegistry",{enumerable:!0,get:o(function(){return _B.TypeRegistry},"get")});var aI=GA();Object.defineProperty(m,"NLToSPARQLService",{enumerable:!0,get:o(function(){return aI.NLToSPARQLService},"get")});Object.defineProperty(m,"DEFAULT_NL_TO_SPARQL_CONFIG",{enumerable:!0,get:o(function(){return aI.DEFAULT_NL_TO_SPARQL_CONFIG},"get")});var ri=Gb();Object.defineProperty(m,"SPARQL_TEMPLATES",{enumerable:!0,get:o(function(){return ri.SPARQL_TEMPLATES},"get")});Object.defineProperty(m,"SPARQL_PREFIXES",{enumerable:!0,get:o(function(){return ri.SPARQL_PREFIXES},"get")});Object.defineProperty(m,"PREDICATES",{enumerable:!0,get:o(function(){return ri.PREDICATES},"get")});Object.defineProperty(m,"ASSET_CLASSES",{enumerable:!0,get:o(function(){return ri.ASSET_CLASSES},"get")});Object.defineProperty(m,"EFFORT_STATUSES",{enumerable:!0,get:o(function(){return ri.EFFORT_STATUSES},"get")});Object.defineProperty(m,"KNOWN_PROTOTYPES",{enumerable:!0,get:o(function(){return ri.KNOWN_PROTOTYPES},"get")});Object.defineProperty(m,"KNOWN_CLASSES",{enumerable:!0,get:o(function(){return ri.KNOWN_CLASSES},"get")});Object.defineProperty(m,"findClassByTerm",{enumerable:!0,get:o(function(){return ri.findClassByTerm},"get")});Object.defineProperty(m,"findMatchingTemplates",{enumerable:!0,get:o(function(){return ri.findMatchingTemplates},"get")});Object.defineProperty(m,"fillTemplate",{enumerable:!0,get:o(function(){return ri.fillTemplate},"get")});Object.defineProperty(m,"validateParameters",{enumerable:!0,get:o(function(){return ri.validateParameters},"get")});Object.defineProperty(m,"getTemplateByName",{enumerable:!0,get:o(function(){return ri.getTemplateByName},"get")});var oI=Qb();Object.defineProperty(m,"CriticalityZoneService",{enumerable:!0,get:o(function(){return oI.CriticalityZoneService},"get")});Object.defineProperty(m,"CriticalityZoneUUIDs",{enumerable:!0,get:o(function(){return oI.CriticalityZoneUUIDs},"get")});var bB=cs();Object.defineProperty(m,"FrontmatterService",{enumerable:!0,get:o(function(){return bB.FrontmatterService},"get")});var SB=$n();Object.defineProperty(m,"DateFormatter",{enumerable:!0,get:o(function(){return SB.DateFormatter},"get")});var wB=$s();Object.defineProperty(m,"WikiLinkHelpers",{enumerable:!0,get:o(function(){return wB.WikiLinkHelpers},"get")});var vB=Ks();Object.defineProperty(m,"MetadataHelpers",{enumerable:!0,get:o(function(){return vB.MetadataHelpers},"get")});var EB=Q1();Object.defineProperty(m,"MetadataExtractor",{enumerable:!0,get:o(function(){return EB.MetadataExtractor},"get")});var TB=HA();Object.defineProperty(m,"EffortSortingHelpers",{enumerable:!0,get:o(function(){return TB.EffortSortingHelpers},"get")});var AB=QA();Object.defineProperty(m,"FilenameValidator",{enumerable:!0,get:o(function(){return AB.FilenameValidator},"get")});var xB=tx();Object.defineProperty(m,"RDFSerializer",{enumerable:!0,get:o(function(){return xB.RDFSerializer},"get")});var IB=bc();Object.defineProperty(m,"NullLogger",{enumerable:!0,get:o(function(){return IB.NullLogger},"get")});var cI=aS();Object.defineProperty(m,"vaultPathToIRI",{enumerable:!0,get:o(function(){return cI.vaultPathToIRI},"get")});Object.defineProperty(m,"OBSIDIAN_VAULT_SCHEME",{enumerable:!0,get:o(function(){return cI.OBSIDIAN_VAULT_SCHEME},"get")});var CB=U1();Object.defineProperty(m,"InMemoryTripleStore",{enumerable:!0,get:o(function(){return CB.InMemoryTripleStore},"get")});var RB=Ae();Object.defineProperty(m,"DomainIRI",{enumerable:!0,get:o(function(){return RB.IRI},"get")});var OB=ke();Object.defineProperty(m,"DomainLiteral",{enumerable:!0,get:o(function(){return OB.Literal},"get")});var PB=$t();Object.defineProperty(m,"DomainBlankNode",{enumerable:!0,get:o(function(){return PB.BlankNode},"get")});var FB=Qn();Object.defineProperty(m,"DomainTriple",{enumerable:!0,get:o(function(){return FB.Triple},"get")});var DB=cS();Object.defineProperty(m,"RDFVocabularyMapper",{enumerable:!0,get:o(function(){return DB.RDFVocabularyMapper},"get")});var NB=nx();Object.defineProperty(m,"RDFSInferenceEngine",{enumerable:!0,get:o(function(){return NB.RDFSInferenceEngine},"get")});var LB=dS();Object.defineProperty(m,"NonInheritablePropertyRegistry",{enumerable:!0,get:o(function(){return LB.NonInheritablePropertyRegistry},"get")});var kB=mS();Object.defineProperty(m,"PropertyCardinalityRegistry",{enumerable:!0,get:o(function(){return kB.PropertyCardinalityRegistry},"get")});var lI=_S();Object.defineProperty(m,"PrototypeChainMaterializer",{enumerable:!0,get:o(function(){return lI.PrototypeChainMaterializer},"get")});Object.defineProperty(m,"INFERRED_GRAPH",{enumerable:!0,get:o(function(){return lI.INFERRED_GRAPH},"get")});var uI=SS();Object.defineProperty(m,"SourceAnnotator",{enumerable:!0,get:o(function(){return uI.SourceAnnotator},"get")});Object.defineProperty(m,"SOURCE_VARIABLE",{enumerable:!0,get:o(function(){return uI.SOURCE_VARIABLE},"get")});var jB=vS();Object.defineProperty(m,"NoteToRDFConverter",{enumerable:!0,get:o(function(){return jB.NoteToRDFConverter},"get")});var Sw=Rc();Object.defineProperty(m,"ExoQLParser",{enumerable:!0,get:o(function(){return Sw.ExoQLParser},"get")});Object.defineProperty(m,"SPARQLParser",{enumerable:!0,get:o(function(){return Sw.SPARQLParser},"get")});Object.defineProperty(m,"SPARQLParseError",{enumerable:!0,get:o(function(){return Sw.SPARQLParseError},"get")});var fI=S_();Object.defineProperty(m,"DescribeOptionsTransformer",{enumerable:!0,get:o(function(){return fI.DescribeOptionsTransformer},"get")});Object.defineProperty(m,"DescribeOptionsTransformerError",{enumerable:!0,get:o(function(){return fI.DescribeOptionsTransformerError},"get")});var dI=Pc();Object.defineProperty(m,"ExoQLAlgebraTranslator",{enumerable:!0,get:o(function(){return dI.ExoQLAlgebraTranslator},"get")});Object.defineProperty(m,"AlgebraTranslator",{enumerable:!0,get:o(function(){return dI.AlgebraTranslator},"get")});var MB=hx();Object.defineProperty(m,"AlgebraOptimizer",{enumerable:!0,get:o(function(){return MB.AlgebraOptimizer},"get")});var $B=px();Object.defineProperty(m,"AlgebraSerializer",{enumerable:!0,get:o(function(){return $B.AlgebraSerializer},"get")});var VB=M_();Object.defineProperty(m,"BGPExecutor",{enumerable:!0,get:o(function(){return VB.BGPExecutor},"get")});var BB=np();Object.defineProperty(m,"FilterExecutor",{enumerable:!0,get:o(function(){return BB.FilterExecutor},"get")});var UB=n1();Object.defineProperty(m,"OptionalExecutor",{enumerable:!0,get:o(function(){return UB.OptionalExecutor},"get")});var qB=s1();Object.defineProperty(m,"UnionExecutor",{enumerable:!0,get:o(function(){return qB.UnionExecutor},"get")});var WB=m1();Object.defineProperty(m,"ConstructExecutor",{enumerable:!0,get:o(function(){return WB.ConstructExecutor},"get")});var GB=gx();Object.defineProperty(m,"DescribeExecutor",{enumerable:!0,get:o(function(){return GB.DescribeExecutor},"get")});var hI=Xc();Object.defineProperty(m,"ExoQLQueryExecutor",{enumerable:!0,get:o(function(){return hI.ExoQLQueryExecutor},"get")});Object.defineProperty(m,"QueryExecutor",{enumerable:!0,get:o(function(){return hI.QueryExecutor},"get")});var pI=_x();Object.defineProperty(m,"UpdateExecutor",{enumerable:!0,get:o(function(){return pI.UpdateExecutor},"get")});Object.defineProperty(m,"UpdateExecutorError",{enumerable:!0,get:o(function(){return pI.UpdateExecutorError},"get")});var zB=is();Object.defineProperty(m,"SolutionMapping",{enumerable:!0,get:o(function(){return zB.SolutionMapping},"get")});var HB=rp();Object.defineProperty(m,"BuiltInFunctions",{enumerable:!0,get:o(function(){return HB.BuiltInFunctions},"get")});var QB=Sx();Object.defineProperty(m,"AggregateFunctions",{enumerable:!0,get:o(function(){return QB.AggregateFunctions},"get")});var mI=c1();Object.defineProperty(m,"CustomAggregateRegistry",{enumerable:!0,get:o(function(){return mI.CustomAggregateRegistry},"get")});Object.defineProperty(m,"CustomAggregateError",{enumerable:!0,get:o(function(){return mI.CustomAggregateError},"get")});var bs=l1();Object.defineProperty(m,"BUILT_IN_AGGREGATES",{enumerable:!0,get:o(function(){return bs.BUILT_IN_AGGREGATES},"get")});Object.defineProperty(m,"EXO_AGGREGATE_NS",{enumerable:!0,get:o(function(){return bs.EXO_AGGREGATE_NS},"get")});Object.defineProperty(m,"medianAggregate",{enumerable:!0,get:o(function(){return bs.medianAggregate},"get")});Object.defineProperty(m,"varianceAggregate",{enumerable:!0,get:o(function(){return bs.varianceAggregate},"get")});Object.defineProperty(m,"stddevAggregate",{enumerable:!0,get:o(function(){return bs.stddevAggregate},"get")});Object.defineProperty(m,"modeAggregate",{enumerable:!0,get:o(function(){return bs.modeAggregate},"get")});Object.defineProperty(m,"createPercentileAggregate",{enumerable:!0,get:o(function(){return bs.createPercentileAggregate},"get")});Object.defineProperty(m,"getNumericValue",{enumerable:!0,get:o(function(){return bs.getNumericValue},"get")});Object.defineProperty(m,"createDecimalLiteral",{enumerable:!0,get:o(function(){return bs.createDecimalLiteral},"get")});Object.defineProperty(m,"createDoubleLiteral",{enumerable:!0,get:o(function(){return bs.createDoubleLiteral},"get")});var KB=wx();Object.defineProperty(m,"QueryPlanCache",{enumerable:!0,get:o(function(){return KB.QueryPlanCache},"get")});var gI=vx();Object.defineProperty(m,"SPARQLResultCache",{enumerable:!0,get:o(function(){return gI.SPARQLResultCache},"get")});Object.defineProperty(m,"createSPARQLResultCache",{enumerable:!0,get:o(function(){return gI.createSPARQLResultCache},"get")});var yI=Ex();Object.defineProperty(m,"IncrementalIndexer",{enumerable:!0,get:o(function(){return yI.IncrementalIndexer},"get")});Object.defineProperty(m,"createIncrementalIndexer",{enumerable:!0,get:o(function(){return yI.createIncrementalIndexer},"get")});var YB=Tx();Object.defineProperty(m,"ResultSerializer",{enumerable:!0,get:o(function(){return YB.ResultSerializer},"get")});var _I=y_();Object.defineProperty(m,"CaseWhenTransformer",{enumerable:!0,get:o(function(){return _I.CaseWhenTransformer},"get")});Object.defineProperty(m,"CaseWhenTransformerError",{enumerable:!0,get:o(function(){return _I.CaseWhenTransformerError},"get")});var XB=T_();Object.defineProperty(m,"VaultPrefixTransformer",{enumerable:!0,get:o(function(){return XB.VaultPrefixTransformer},"get")});var JB=TS();Object.defineProperty(m,"FilterContainsOptimizer",{enumerable:!0,get:o(function(){return JB.FilterContainsOptimizer},"get")});var bI=Ax();Object.defineProperty(m,"FileNotFoundError",{enumerable:!0,get:o(function(){return bI.FileNotFoundError},"get")});Object.defineProperty(m,"FileAlreadyExistsError",{enumerable:!0,get:o(function(){return bI.FileAlreadyExistsError},"get")});var ww=M1();Object.defineProperty(m,"TripleAlreadyExistsError",{enumerable:!0,get:o(function(){return ww.TripleAlreadyExistsError},"get")});Object.defineProperty(m,"TripleNotFoundError",{enumerable:!0,get:o(function(){return ww.TripleNotFoundError},"get")});Object.defineProperty(m,"TransactionError",{enumerable:!0,get:o(function(){return ww.TransactionError},"get")});var Cm=jS();Object.defineProperty(m,"VaultSettings",{enumerable:!0,get:o(function(){return Cm.VaultSettings},"get")});Object.defineProperty(m,"DEFAULT_OWNER_IDENTITY",{enumerable:!0,get:o(function(){return Cm.DEFAULT_OWNER_IDENTITY},"get")});Object.defineProperty(m,"DEFAULT_INBOX_FOLDER",{enumerable:!0,get:o(function(){return Cm.DEFAULT_INBOX_FOLDER},"get")});Object.defineProperty(m,"DEFAULT_FLEETING_NOTE_CLASS_UID",{enumerable:!0,get:o(function(){return Cm.DEFAULT_FLEETING_NOTE_CLASS_UID},"get")});var ZB=Rt();Object.defineProperty(m,"DI_TOKENS",{enumerable:!0,get:o(function(){return ZB.DI_TOKENS},"get")});var lf=xx();Object.defineProperty(m,"registerCoreServices",{enumerable:!0,get:o(function(){return lf.registerCoreServices},"get")});Object.defineProperty(m,"createChildContainer",{enumerable:!0,get:o(function(){return lf.createChildContainer},"get")});Object.defineProperty(m,"getContainer",{enumerable:!0,get:o(function(){return lf.getContainer},"get")});Object.defineProperty(m,"resetContainer",{enumerable:!0,get:o(function(){return lf.resetContainer},"get")});Object.defineProperty(m,"container",{enumerable:!0,get:o(function(){return lf.container},"get")});var oa=Fx();Object.defineProperty(m,"NODE_FLAGS",{enumerable:!0,get:o(function(){return oa.NODE_FLAGS},"get")});Object.defineProperty(m,"DEFAULT_COLORS",{enumerable:!0,get:o(function(){return oa.DEFAULT_COLORS},"get")});Object.defineProperty(m,"StringTable",{enumerable:!0,get:o(function(){return oa.StringTable},"get")});Object.defineProperty(m,"CompactGraphStore",{enumerable:!0,get:o(function(){return oa.CompactGraphStore},"get")});Object.defineProperty(m,"MemoryPool",{enumerable:!0,get:o(function(){return oa.MemoryPool},"get")});Object.defineProperty(m,"getGlobalPool",{enumerable:!0,get:o(function(){return oa.getGlobalPool},"get")});Object.defineProperty(m,"resetGlobalPool",{enumerable:!0,get:o(function(){return oa.resetGlobalPool},"get")});Object.defineProperty(m,"StreamingLoader",{enumerable:!0,get:o(function(){return oa.StreamingLoader},"get")});Object.defineProperty(m,"createStreamingSource",{enumerable:!0,get:o(function(){return oa.createStreamingSource},"get")});var SI=Dx();Object.defineProperty(m,"ExoQL",{enumerable:!0,get:o(function(){return SI.ExoQL},"get")});Object.defineProperty(m,"ExoQLError",{enumerable:!0,get:o(function(){return SI.ExoQLError},"get")});var _l=um();Object.defineProperty(m,"RELATION_COLUMN_SET_CLASS_IRI",{enumerable:!0,get:o(function(){return _l.RELATION_COLUMN_SET_CLASS_IRI},"get")});Object.defineProperty(m,"RELATION_COLUMN_SET_CLASS_UID",{enumerable:!0,get:o(function(){return _l.RELATION_COLUMN_SET_CLASS_UID},"get")});Object.defineProperty(m,"createRelationColumnSetFromFrontmatter",{enumerable:!0,get:o(function(){return _l.createRelationColumnSetFromFrontmatter},"get")});Object.defineProperty(m,"isRelationColumnSet",{enumerable:!0,get:o(function(){return _l.isRelationColumnSet},"get")});Object.defineProperty(m,"isRelationColumnSetFrontmatter",{enumerable:!0,get:o(function(){return _l.isRelationColumnSetFrontmatter},"get")});Object.defineProperty(m,"normalizeRelationColumnSetRef",{enumerable:!0,get:o(function(){return _l.normalizeRef},"get")});var eU=Ux();Object.defineProperty(m,"RelationColumnSetResolver",{enumerable:!0,get:o(function(){return eU.RelationColumnSetResolver},"get")});var uf=um();Object.defineProperty(m,"LAYOUT_CLASS_IRI",{enumerable:!0,get:o(function(){return uf.LAYOUT_CLASS_IRI},"get")});Object.defineProperty(m,"LAYOUT_CLASS_UID",{enumerable:!0,get:o(function(){return uf.LAYOUT_CLASS_UID},"get")});Object.defineProperty(m,"createLayoutFromFrontmatter",{enumerable:!0,get:o(function(){return uf.createLayoutFromFrontmatter},"get")});Object.defineProperty(m,"isLayout",{enumerable:!0,get:o(function(){return uf.isLayout},"get")});Object.defineProperty(m,"isLayoutFrontmatter",{enumerable:!0,get:o(function(){return uf.isLayoutFrontmatter},"get")});var Ua=um();Object.defineProperty(m,"BACKLINKS_TABLE_BLOCK_CLASS_IRI",{enumerable:!0,get:o(function(){return Ua.BACKLINKS_TABLE_BLOCK_CLASS_IRI},"get")});Object.defineProperty(m,"BACKLINKS_TABLE_BLOCK_CLASS_UID",{enumerable:!0,get:o(function(){return Ua.BACKLINKS_TABLE_BLOCK_CLASS_UID},"get")});Object.defineProperty(m,"PROPERTIES_BLOCK_CLASS_IRI",{enumerable:!0,get:o(function(){return Ua.PROPERTIES_BLOCK_CLASS_IRI},"get")});Object.defineProperty(m,"PROPERTIES_BLOCK_CLASS_UID",{enumerable:!0,get:o(function(){return Ua.PROPERTIES_BLOCK_CLASS_UID},"get")});Object.defineProperty(m,"createLayoutBlockFromFrontmatter",{enumerable:!0,get:o(function(){return Ua.createLayoutBlockFromFrontmatter},"get")});Object.defineProperty(m,"isBacklinksTableBlock",{enumerable:!0,get:o(function(){return Ua.isBacklinksTableBlock},"get")});Object.defineProperty(m,"isLayoutBlockFrontmatter",{enumerable:!0,get:o(function(){return Ua.isLayoutBlockFrontmatter},"get")});Object.defineProperty(m,"isPropertiesBlock",{enumerable:!0,get:o(function(){return Ua.isPropertiesBlock},"get")});var wI=Wx();Object.defineProperty(m,"LayoutSelector",{enumerable:!0,get:o(function(){return wI.LayoutSelector},"get")});Object.defineProperty(m,"selectByPriority",{enumerable:!0,get:o(function(){return wI.selectByPriority},"get")});ti(Zx(),m);var tU=fw();Object.defineProperty(m,"ShapeLoader",{enumerable:!0,get:o(function(){return tU.ShapeLoader},"get")});var rU=ow();Object.defineProperty(m,"ShapeRegistry",{enumerable:!0,get:o(function(){return rU.ShapeRegistry},"get")});var nU=gr();Object.defineProperty(m,"Namespace",{enumerable:!0,get:o(function(){return nU.Namespace},"get")});var vI=hw();Object.defineProperty(m,"shaclValidate",{enumerable:!0,get:o(function(){return vI.validate},"get")});Object.defineProperty(m,"ShaclShapeRegistry",{enumerable:!0,get:o(function(){return vI.ShapeRegistry},"get")});ti(tI(),m);var vw=nI();Object.defineProperty(m,"ValidatorDaemon",{enumerable:!0,get:o(function(){return vw.ValidatorDaemon},"get")});Object.defineProperty(m,"DEFAULT_SOCKET_PATH",{enumerable:!0,get:o(function(){return vw.DEFAULT_SOCKET_PATH},"get")});Object.defineProperty(m,"IDLE_TIMEOUT_MS",{enumerable:!0,get:o(function(){return vw.IDLE_TIMEOUT_MS},"get")});var iU=yw();Object.defineProperty(m,"TripleClassHierarchy",{enumerable:!0,get:o(function(){return iU.ClassHierarchy},"get")})});var wr=b(Ew=>{"use strict";Ew.fromCallback=function(n){return Object.defineProperty(function(...e){if(typeof e[e.length-1]=="function")n.apply(this,e);else return new Promise((t,r)=>{e.push((i,s)=>i!=null?r(i):t(s)),n.apply(this,e)})},"name",{value:n.name})};Ew.fromPromise=function(n){return Object.defineProperty(function(...e){let t=e[e.length-1];if(typeof t!="function")return n.apply(this,e);e.pop(),n.apply(this,e).then(r=>t(null,r),t)},"name",{value:n.name})}});var TI=b((Goe,EI)=>{var qa=require("constants"),sU=process.cwd,Rm=null,aU=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return Rm||(Rm=sU.call(process)),Rm};try{process.cwd()}catch{}typeof process.chdir=="function"&&(Tw=process.chdir,process.chdir=function(n){Rm=null,Tw.call(process,n)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,Tw));var Tw;EI.exports=oU;function oU(n){qa.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&e(n),n.lutimes||t(n),n.chown=s(n.chown),n.fchown=s(n.fchown),n.lchown=s(n.lchown),n.chmod=r(n.chmod),n.fchmod=r(n.fchmod),n.lchmod=r(n.lchmod),n.chownSync=a(n.chownSync),n.fchownSync=a(n.fchownSync),n.lchownSync=a(n.lchownSync),n.chmodSync=i(n.chmodSync),n.fchmodSync=i(n.fchmodSync),n.lchmodSync=i(n.lchmodSync),n.stat=c(n.stat),n.fstat=c(n.fstat),n.lstat=c(n.lstat),n.statSync=l(n.statSync),n.fstatSync=l(n.fstatSync),n.lstatSync=l(n.lstatSync),n.chmod&&!n.lchmod&&(n.lchmod=function(f,d,h){h&&process.nextTick(h)},n.lchmodSync=function(){}),n.chown&&!n.lchown&&(n.lchown=function(f,d,h,p){p&&process.nextTick(p)},n.lchownSync=function(){}),aU==="win32"&&(n.rename=typeof n.rename!="function"?n.rename:(function(f){function d(h,p,y){var S=Date.now(),v=0;f(h,p,o(function w(T){if(T&&(T.code==="EACCES"||T.code==="EPERM"||T.code==="EBUSY")&&Date.now()-S<6e4){setTimeout(function(){n.stat(p,function(R,$){R&&R.code==="ENOENT"?f(h,p,w):y(T)})},v),v<100&&(v+=10);return}y&&y(T)},"CB"))}return o(d,"rename"),Object.setPrototypeOf&&Object.setPrototypeOf(d,f),d})(n.rename)),n.read=typeof n.read!="function"?n.read:(function(f){function d(h,p,y,S,v,w){var T;if(w&&typeof w=="function"){var R=0;T=o(function($,V,ne){if($&&$.code==="EAGAIN"&&R<10)return R++,f.call(n,h,p,y,S,v,T);w.apply(this,arguments)},"callback")}return f.call(n,h,p,y,S,v,T)}return o(d,"read"),Object.setPrototypeOf&&Object.setPrototypeOf(d,f),d})(n.read),n.readSync=typeof n.readSync!="function"?n.readSync:(function(f){return function(d,h,p,y,S){for(var v=0;;)try{return f.call(n,d,h,p,y,S)}catch(w){if(w.code==="EAGAIN"&&v<10){v++;continue}throw w}}})(n.readSync);function e(f){f.lchmod=function(d,h,p){f.open(d,qa.O_WRONLY|qa.O_SYMLINK,h,function(y,S){if(y){p&&p(y);return}f.fchmod(S,h,function(v){f.close(S,function(w){p&&p(v||w)})})})},f.lchmodSync=function(d,h){var p=f.openSync(d,qa.O_WRONLY|qa.O_SYMLINK,h),y=!0,S;try{S=f.fchmodSync(p,h),y=!1}finally{if(y)try{f.closeSync(p)}catch{}else f.closeSync(p)}return S}}o(e,"patchLchmod");function t(f){qa.hasOwnProperty("O_SYMLINK")&&f.futimes?(f.lutimes=function(d,h,p,y){f.open(d,qa.O_SYMLINK,function(S,v){if(S){y&&y(S);return}f.futimes(v,h,p,function(w){f.close(v,function(T){y&&y(w||T)})})})},f.lutimesSync=function(d,h,p){var y=f.openSync(d,qa.O_SYMLINK),S,v=!0;try{S=f.futimesSync(y,h,p),v=!1}finally{if(v)try{f.closeSync(y)}catch{}else f.closeSync(y)}return S}):f.futimes&&(f.lutimes=function(d,h,p,y){y&&process.nextTick(y)},f.lutimesSync=function(){})}o(t,"patchLutimes");function r(f){return f&&function(d,h,p){return f.call(n,d,h,function(y){u(y)&&(y=null),p&&p.apply(this,arguments)})}}o(r,"chmodFix");function i(f){return f&&function(d,h){try{return f.call(n,d,h)}catch(p){if(!u(p))throw p}}}o(i,"chmodFixSync");function s(f){return f&&function(d,h,p,y){return f.call(n,d,h,p,function(S){u(S)&&(S=null),y&&y.apply(this,arguments)})}}o(s,"chownFix");function a(f){return f&&function(d,h,p){try{return f.call(n,d,h,p)}catch(y){if(!u(y))throw y}}}o(a,"chownFixSync");function c(f){return f&&function(d,h,p){typeof h=="function"&&(p=h,h=null);function y(S,v){v&&(v.uid<0&&(v.uid+=4294967296),v.gid<0&&(v.gid+=4294967296)),p&&p.apply(this,arguments)}return o(y,"callback"),h?f.call(n,d,h,y):f.call(n,d,y)}}o(c,"statFix");function l(f){return f&&function(d,h){var p=h?f.call(n,d,h):f.call(n,d);return p&&(p.uid<0&&(p.uid+=4294967296),p.gid<0&&(p.gid+=4294967296)),p}}o(l,"statFixSync");function u(f){if(!f||f.code==="ENOSYS")return!0;var d=!process.getuid||process.getuid()!==0;return!!(d&&(f.code==="EINVAL"||f.code==="EPERM"))}o(u,"chownErOk")}o(oU,"patch")});var II=b((Hoe,xI)=>{var AI=require("stream").Stream;xI.exports=cU;function cU(n){return{ReadStream:e,WriteStream:t};function e(r,i){if(!(this instanceof e))return new e(r,i);AI.call(this);var s=this;this.path=r,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=64*1024,i=i||{};for(var a=Object.keys(i),c=0,l=a.length;c<l;c++){var u=a[c];this[u]=i[u]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){s._read()});return}n.open(this.path,this.flags,this.mode,function(f,d){if(f){s.emit("error",f),s.readable=!1;return}s.fd=d,s.emit("open",d),s._read()})}function t(r,i){if(!(this instanceof t))return new t(r,i);AI.call(this),this.path=r,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,i=i||{};for(var s=Object.keys(i),a=0,c=s.length;a<c;a++){var l=s[a];this[l]=i[l]}if(this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=n.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}o(cU,"legacy")});var RI=b((Koe,CI)=>{"use strict";CI.exports=uU;var lU=Object.getPrototypeOf||function(n){return n.__proto__};function uU(n){if(n===null||typeof n!="object")return n;if(n instanceof Object)var e={__proto__:lU(n)};else var e=Object.create(null);return Object.getOwnPropertyNames(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}o(uU,"clone")});var Sl=b((Xoe,Iw)=>{var Lt=require("fs"),fU=TI(),dU=II(),hU=RI(),Om=require("util"),kr,Fm;typeof Symbol=="function"&&typeof Symbol.for=="function"?(kr=Symbol.for("graceful-fs.queue"),Fm=Symbol.for("graceful-fs.previous")):(kr="___graceful-fs.queue",Fm="___graceful-fs.previous");function pU(){}o(pU,"noop");function FI(n,e){Object.defineProperty(n,kr,{get:o(function(){return e},"get")})}o(FI,"publishQueue");var qo=pU;Om.debuglog?qo=Om.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(qo=o(function(){var n=Om.format.apply(Om,arguments);n="GFS4: "+n.split(/\n/).join(`
456
456
  GFS4: `),console.error(n)},"debug"));Lt[kr]||(OI=global[kr]||[],FI(Lt,OI),Lt.close=(function(n){function e(t,r){return n.call(Lt,t,function(i){i||PI(),typeof r=="function"&&r.apply(this,arguments)})}return o(e,"close"),Object.defineProperty(e,Fm,{value:n}),e})(Lt.close),Lt.closeSync=(function(n){function e(t){n.apply(Lt,arguments),PI()}return o(e,"closeSync"),Object.defineProperty(e,Fm,{value:n}),e})(Lt.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){qo(Lt[kr]),require("assert").equal(Lt[kr].length,0)}));var OI;global[kr]||FI(global,Lt[kr]);Iw.exports=Aw(hU(Lt));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!Lt.__patched&&(Iw.exports=Aw(Lt),Lt.__patched=!0);function Aw(n){fU(n),n.gracefulify=Aw,n.createReadStream=V,n.createWriteStream=ne;var e=n.readFile;n.readFile=t;function t(O,D,J){return typeof D=="function"&&(J=D,D=null),qe(O,D,J);function qe(tt,_t,Je,it){return e(tt,_t,function(we){we&&(we.code==="EMFILE"||we.code==="ENFILE")?bl([qe,[tt,_t,Je],we,it||Date.now(),Date.now()]):typeof Je=="function"&&Je.apply(this,arguments)})}o(qe,"go$readFile")}o(t,"readFile");var r=n.writeFile;n.writeFile=i;function i(O,D,J,qe){return typeof J=="function"&&(qe=J,J=null),tt(O,D,J,qe);function tt(_t,Je,it,we,Z){return r(_t,Je,it,function(q){q&&(q.code==="EMFILE"||q.code==="ENFILE")?bl([tt,[_t,Je,it,we],q,Z||Date.now(),Date.now()]):typeof we=="function"&&we.apply(this,arguments)})}o(tt,"go$writeFile")}o(i,"writeFile");var s=n.appendFile;s&&(n.appendFile=a);function a(O,D,J,qe){return typeof J=="function"&&(qe=J,J=null),tt(O,D,J,qe);function tt(_t,Je,it,we,Z){return s(_t,Je,it,function(q){q&&(q.code==="EMFILE"||q.code==="ENFILE")?bl([tt,[_t,Je,it,we],q,Z||Date.now(),Date.now()]):typeof we=="function"&&we.apply(this,arguments)})}o(tt,"go$appendFile")}o(a,"appendFile");var c=n.copyFile;c&&(n.copyFile=l);function l(O,D,J,qe){return typeof J=="function"&&(qe=J,J=0),tt(O,D,J,qe);function tt(_t,Je,it,we,Z){return c(_t,Je,it,function(q){q&&(q.code==="EMFILE"||q.code==="ENFILE")?bl([tt,[_t,Je,it,we],q,Z||Date.now(),Date.now()]):typeof we=="function"&&we.apply(this,arguments)})}o(tt,"go$copyFile")}o(l,"copyFile");var u=n.readdir;n.readdir=d;var f=/^v[0-5]\./;function d(O,D,J){typeof D=="function"&&(J=D,D=null);var qe=f.test(process.version)?o(function(Je,it,we,Z){return u(Je,tt(Je,it,we,Z))},"go$readdir"):o(function(Je,it,we,Z){return u(Je,it,tt(Je,it,we,Z))},"go$readdir");return qe(O,D,J);function tt(_t,Je,it,we){return function(Z,q){Z&&(Z.code==="EMFILE"||Z.code==="ENFILE")?bl([qe,[_t,Je,it],Z,we||Date.now(),Date.now()]):(q&&q.sort&&q.sort(),typeof it=="function"&&it.call(this,Z,q))}}}if(o(d,"readdir"),process.version.substr(0,4)==="v0.8"){var h=dU(n);w=h.ReadStream,R=h.WriteStream}var p=n.ReadStream;p&&(w.prototype=Object.create(p.prototype),w.prototype.open=T);var y=n.WriteStream;y&&(R.prototype=Object.create(y.prototype),R.prototype.open=$),Object.defineProperty(n,"ReadStream",{get:o(function(){return w},"get"),set:o(function(O){w=O},"set"),enumerable:!0,configurable:!0}),Object.defineProperty(n,"WriteStream",{get:o(function(){return R},"get"),set:o(function(O){R=O},"set"),enumerable:!0,configurable:!0});var S=w;Object.defineProperty(n,"FileReadStream",{get:o(function(){return S},"get"),set:o(function(O){S=O},"set"),enumerable:!0,configurable:!0});var v=R;Object.defineProperty(n,"FileWriteStream",{get:o(function(){return v},"get"),set:o(function(O){v=O},"set"),enumerable:!0,configurable:!0});function w(O,D){return this instanceof w?(p.apply(this,arguments),this):w.apply(Object.create(w.prototype),arguments)}o(w,"ReadStream");function T(){var O=this;U(O.path,O.flags,O.mode,function(D,J){D?(O.autoClose&&O.destroy(),O.emit("error",D)):(O.fd=J,O.emit("open",J),O.read())})}o(T,"ReadStream$open");function R(O,D){return this instanceof R?(y.apply(this,arguments),this):R.apply(Object.create(R.prototype),arguments)}o(R,"WriteStream");function $(){var O=this;U(O.path,O.flags,O.mode,function(D,J){D?(O.destroy(),O.emit("error",D)):(O.fd=J,O.emit("open",J))})}o($,"WriteStream$open");function V(O,D){return new n.ReadStream(O,D)}o(V,"createReadStream");function ne(O,D){return new n.WriteStream(O,D)}o(ne,"createWriteStream");var k=n.open;n.open=U;function U(O,D,J,qe){return typeof J=="function"&&(qe=J,J=null),tt(O,D,J,qe);function tt(_t,Je,it,we,Z){return k(_t,Je,it,function(q,ut){q&&(q.code==="EMFILE"||q.code==="ENFILE")?bl([tt,[_t,Je,it,we],q,Z||Date.now(),Date.now()]):typeof we=="function"&&we.apply(this,arguments)})}o(tt,"go$open")}return o(U,"open"),n}o(Aw,"patch");function bl(n){qo("ENQUEUE",n[0].name,n[1]),Lt[kr].push(n),xw()}o(bl,"enqueue");var Pm;function PI(){for(var n=Date.now(),e=0;e<Lt[kr].length;++e)Lt[kr][e].length>2&&(Lt[kr][e][3]=n,Lt[kr][e][4]=n);xw()}o(PI,"resetQueue");function xw(){if(clearTimeout(Pm),Pm=void 0,Lt[kr].length!==0){var n=Lt[kr].shift(),e=n[0],t=n[1],r=n[2],i=n[3],s=n[4];if(i===void 0)qo("RETRY",e.name,t),e.apply(null,t);else if(Date.now()-i>=6e4){qo("TIMEOUT",e.name,t);var a=t.pop();typeof a=="function"&&a.call(null,r)}else{var c=Date.now()-s,l=Math.max(s-i,1),u=Math.min(l*1.2,100);c>=u?(qo("RETRY",e.name,t),e.apply(null,t.concat([i]))):Lt[kr].push(n)}Pm===void 0&&(Pm=setTimeout(xw,0))}}o(xw,"retry")});var pn=b(ca=>{"use strict";var DI=wr().fromCallback,hn=Sl(),mU=["access","appendFile","chmod","chown","close","copyFile","cp","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","glob","lchmod","lchown","lutimes","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","statfs","symlink","truncate","unlink","utimes","writeFile"].filter(n=>typeof hn[n]=="function");Object.assign(ca,hn);mU.forEach(n=>{ca[n]=DI(hn[n])});ca.exists=function(n,e){return typeof e=="function"?hn.exists(n,e):new Promise(t=>hn.exists(n,t))};ca.read=function(n,e,t,r,i,s){return typeof s=="function"?hn.read(n,e,t,r,i,s):new Promise((a,c)=>{hn.read(n,e,t,r,i,(l,u,f)=>{if(l)return c(l);a({bytesRead:u,buffer:f})})})};ca.write=function(n,e,...t){return typeof t[t.length-1]=="function"?hn.write(n,e,...t):new Promise((r,i)=>{hn.write(n,e,...t,(s,a,c)=>{if(s)return i(s);r({bytesWritten:a,buffer:c})})})};ca.readv=function(n,e,...t){return typeof t[t.length-1]=="function"?hn.readv(n,e,...t):new Promise((r,i)=>{hn.readv(n,e,...t,(s,a,c)=>{if(s)return i(s);r({bytesRead:a,buffers:c})})})};ca.writev=function(n,e,...t){return typeof t[t.length-1]=="function"?hn.writev(n,e,...t):new Promise((r,i)=>{hn.writev(n,e,...t,(s,a,c)=>{if(s)return i(s);r({bytesWritten:a,buffers:c})})})};typeof hn.realpath.native=="function"?ca.realpath.native=DI(hn.realpath.native):process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var LI=b((ece,NI)=>{"use strict";var gU=require("path");NI.exports.checkPath=o(function(e){if(process.platform==="win32"&&/[<>:"|?*]/.test(e.replace(gU.parse(e).root,""))){let r=new Error(`Path contains invalid characters: ${e}`);throw r.code="EINVAL",r}},"checkPath")});var $I=b((rce,Cw)=>{"use strict";var kI=pn(),{checkPath:jI}=LI(),MI=o(n=>{let e={mode:511};return typeof n=="number"?n:{...e,...n}.mode},"getMode");Cw.exports.makeDir=async(n,e)=>(jI(n),kI.mkdir(n,{mode:MI(e),recursive:!0}));Cw.exports.makeDirSync=(n,e)=>(jI(n),kI.mkdirSync(n,{mode:MI(e),recursive:!0}))});var Mi=b((ice,VI)=>{"use strict";var yU=wr().fromPromise,{makeDir:_U,makeDirSync:Rw}=$I(),Ow=yU(_U);VI.exports={mkdirs:Ow,mkdirsSync:Rw,mkdirp:Ow,mkdirpSync:Rw,ensureDir:Ow,ensureDirSync:Rw}});var Wa=b((sce,UI)=>{"use strict";var bU=wr().fromPromise,BI=pn();function SU(n){return BI.access(n).then(()=>!0).catch(()=>!1)}o(SU,"pathExists");UI.exports={pathExists:bU(SU),pathExistsSync:BI.existsSync}});var Pw=b((oce,qI)=>{"use strict";var wl=pn(),wU=wr().fromPromise;async function vU(n,e,t){let r=await wl.open(n,"r+"),i=null;try{await wl.futimes(r,e,t)}finally{try{await wl.close(r)}catch(s){i=s}}if(i)throw i}o(vU,"utimesMillis");function EU(n,e,t){let r=wl.openSync(n,"r+");return wl.futimesSync(r,e,t),wl.closeSync(r)}o(EU,"utimesMillisSync");qI.exports={utimesMillis:wU(vU),utimesMillisSync:EU}});var Wo=b((lce,HI)=>{"use strict";var vl=pn(),vr=require("path"),WI=wr().fromPromise;function TU(n,e,t){let r=t.dereference?i=>vl.stat(i,{bigint:!0}):i=>vl.lstat(i,{bigint:!0});return Promise.all([r(n),r(e).catch(i=>{if(i.code==="ENOENT")return null;throw i})]).then(([i,s])=>({srcStat:i,destStat:s}))}o(TU,"getStats");function AU(n,e,t){let r,i=t.dereference?a=>vl.statSync(a,{bigint:!0}):a=>vl.lstatSync(a,{bigint:!0}),s=i(n);try{r=i(e)}catch(a){if(a.code==="ENOENT")return{srcStat:s,destStat:null};throw a}return{srcStat:s,destStat:r}}o(AU,"getStatsSync");async function xU(n,e,t,r){let{srcStat:i,destStat:s}=await TU(n,e,r);if(s){if(ff(i,s)){let a=vr.basename(n),c=vr.basename(e);if(t==="move"&&a!==c&&a.toLowerCase()===c.toLowerCase())return{srcStat:i,destStat:s,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(i.isDirectory()&&!s.isDirectory())throw new Error(`Cannot overwrite non-directory '${e}' with directory '${n}'.`);if(!i.isDirectory()&&s.isDirectory())throw new Error(`Cannot overwrite directory '${e}' with non-directory '${n}'.`)}if(i.isDirectory()&&Fw(n,e))throw new Error(Dm(n,e,t));return{srcStat:i,destStat:s}}o(xU,"checkPaths");function IU(n,e,t,r){let{srcStat:i,destStat:s}=AU(n,e,r);if(s){if(ff(i,s)){let a=vr.basename(n),c=vr.basename(e);if(t==="move"&&a!==c&&a.toLowerCase()===c.toLowerCase())return{srcStat:i,destStat:s,isChangingCase:!0};throw new Error("Source and destination must not be the same.")}if(i.isDirectory()&&!s.isDirectory())throw new Error(`Cannot overwrite non-directory '${e}' with directory '${n}'.`);if(!i.isDirectory()&&s.isDirectory())throw new Error(`Cannot overwrite directory '${e}' with non-directory '${n}'.`)}if(i.isDirectory()&&Fw(n,e))throw new Error(Dm(n,e,t));return{srcStat:i,destStat:s}}o(IU,"checkPathsSync");async function GI(n,e,t,r){let i=vr.resolve(vr.dirname(n)),s=vr.resolve(vr.dirname(t));if(s===i||s===vr.parse(s).root)return;let a;try{a=await vl.stat(s,{bigint:!0})}catch(c){if(c.code==="ENOENT")return;throw c}if(ff(e,a))throw new Error(Dm(n,t,r));return GI(n,e,s,r)}o(GI,"checkParentPaths");function zI(n,e,t,r){let i=vr.resolve(vr.dirname(n)),s=vr.resolve(vr.dirname(t));if(s===i||s===vr.parse(s).root)return;let a;try{a=vl.statSync(s,{bigint:!0})}catch(c){if(c.code==="ENOENT")return;throw c}if(ff(e,a))throw new Error(Dm(n,t,r));return zI(n,e,s,r)}o(zI,"checkParentPathsSync");function ff(n,e){return e.ino!==void 0&&e.dev!==void 0&&e.ino===n.ino&&e.dev===n.dev}o(ff,"areIdentical");function Fw(n,e){let t=vr.resolve(n).split(vr.sep).filter(i=>i),r=vr.resolve(e).split(vr.sep).filter(i=>i);return t.every((i,s)=>r[s]===i)}o(Fw,"isSrcSubdir");function Dm(n,e,t){return`Cannot ${t} '${n}' to a subdirectory of itself, '${e}'.`}o(Dm,"errMsg");HI.exports={checkPaths:WI(xU),checkPathsSync:IU,checkParentPaths:WI(GI),checkParentPathsSync:zI,isSrcSubdir:Fw,areIdentical:ff}});var KI=b((fce,QI)=>{"use strict";async function CU(n,e){let t=[];for await(let r of n)t.push(e(r).then(()=>null,i=>i??new Error("unknown error")));await Promise.all(t.map(r=>r.then(i=>{if(i!==null)throw i})))}o(CU,"asyncIteratorConcurrentProcess");QI.exports={asyncIteratorConcurrentProcess:CU}});var eC=b((hce,ZI)=>{"use strict";var Qr=pn(),df=require("path"),{mkdirs:RU}=Mi(),{pathExists:OU}=Wa(),{utimesMillis:PU}=Pw(),hf=Wo(),{asyncIteratorConcurrentProcess:FU}=KI();async function DU(n,e,t={}){typeof t=="function"&&(t={filter:t}),t.clobber="clobber"in t?!!t.clobber:!0,t.overwrite="overwrite"in t?!!t.overwrite:t.clobber,t.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
@@ -764,7 +764,7 @@ ${r}`}o(SY,"serializeFile");function pD(n,e,t={}){let r=Bg.default.dirname(n),i=
764
764
  `).map(s=>s.trim()).filter(Boolean)){let s=wY.exec(i);if(s){r.push({sessionName:i,uuid:s[1],type:"full"});continue}let a=vY.exec(i);a&&r.push({sessionName:i,uuid:a[1],type:"short"})}return r}o(TY,"listClaudeChildSessions");function AY(n,e,t){let r=null,i=e.toLowerCase();function s(a){if(r)return;let c;try{c=(0,qg.readdirSync)(a,{withFileTypes:!0})}catch{return}for(let l of c){if(r)return;if(l.name.startsWith(".")||l.name==="node_modules")continue;let u=(0,mD.join)(a,l.name);if(l.isDirectory())s(u);else if(l.name.endsWith(".md")){let f=l.name.slice(0,-3).toLowerCase();(t==="full"&&f===i||t==="short"&&f.startsWith(i))&&(r=u)}}}return o(s,"walk"),s(n),r}o(AY,"findVaultFile");function xY(n,e){try{let i=(e??(s=>(0,qg.readFileSync)(s,"utf8")))(n).match(/ems__Effort_status\s*:.*\[\[([^\]]+)\]\]/);return i?i[1].includes(EY):!1}catch{return!1}}o(xY,"isTaskDoing");async function yD(n,e=Ug.exec,t){let r=await TY(e),i=[];for(let s of r){let a=AY(n,s.uuid,s.type);if(!a){i.push({sessionName:s.sessionName,taskUuid:s.uuid,taskFilePath:null,reason:"vault task not found"});continue}xY(a,t)||i.push({sessionName:s.sessionName,taskUuid:s.uuid,taskFilePath:a,reason:"vault task status != Doing"})}return i}o(yD,"detectOrphans");async function _D(n,e,t=Ug.exec,r=pD){let i=gD(t);if(e)return{ok:!0};let s=new Date().toISOString();if(n.taskFilePath)try{r(n.taskFilePath,{ems__Effort_status:"[[ems__EffortStatusFailed]]",aiTask__Task_lastError:`orphan recovery: ${n.reason}`,exo__Asset_updatedAt:s})}catch(a){return{ok:!1,error:`vault update failed: ${a.message}`}}try{await i(`tmux kill-session -t ${JSON.stringify(n.sessionName)}`)}catch{}return{ok:!0}}o(_D,"recoverOrphan");function IY(){return process.env.EXOCORTEX_VAULT??(0,Wg.join)((0,SD.homedir)(),"vault-2025")}o(IY,"defaultVault");function wD(){return new Te("recover").description("Detect and recover orphaned claude-child tmux sessions. A session is orphaned when the corresponding vault task is not in Doing status. Default mode: dry-run (no changes). Use --apply to perform recovery.").option("--vault <path>","Path to Obsidian vault",IY()).option("--dry-run","List orphans without applying changes (default)",!1).option("--apply","Apply orphan recovery: set Failed + kill tmux session",!1).action(async n=>{let e=(0,Wg.resolve)(n.vault);if(!(0,bD.existsSync)(e)){console.error(`[recover] vault not found: ${e}`),process.exitCode=1;return}let t=!n.apply;console.log(`[recover] vault=${e} mode=${t?"dry-run":"apply"}`);let r=await yD(e);if(r.length===0){console.log("[recover] No orphaned claude-child sessions found.");return}console.log(`[recover] Found ${r.length} orphan(s):`);for(let a of r){let c=a.taskFilePath??"(not found in vault)";console.log(` session=${a.sessionName} uuid=${a.taskUuid} reason=${a.reason}`),console.log(` file=${c}`)}if(t){console.log("[recover] Dry-run mode: no changes applied. Use --apply to recover.");return}let i=0,s=0;for(let a of r){let c=await _D(a,!1);c.ok?(i++,console.log(`[recover] RECOVERED: ${a.sessionName}`)):(s++,console.error(`[recover] ERROR recovering ${a.sessionName}: ${c.error}`))}console.log(`[recover] Done: recovered=${i} errors=${s}`),s>0&&(process.exitCode=1)})}o(wD,"recoverCommand");var hE=require("fs"),Gg=require("path"),Wn=oe(Sr());function CY(n,e){return e.concat([n])}o(CY,"collectAlso");var RY="https://exocortex.my/ontology/find#Alias_sparql",OY="https://exocortex.my/ontology/exo#Asset_label";function eu(n){if(n&&typeof n=="object"&&"value"in n){let e=n.value;return typeof e=="string"?e:String(e)}return String(n)}o(eu,"nodeValue");async function PY(n,e){let t=await n.match(void 0,void 0,void 0),r=[];for(let s of t)eu(s.predicate)!==OY||eu(s.object)!==e||r.push(eu(s.subject));if(r.length===0)return null;let i=[];for(let s of r)for(let a of t)eu(a.predicate)===RY&&eu(a.subject)===s&&i.push(eu(a.object));if(i.length===0)return null;if(i.length>1)throw new Bt(`Ambiguous find__Alias "${e}" \u2014 ${i.length} instances define a sparql fragment`,`Ensure exactly one find__Alias asset has exo:Asset_label "${e}"`);return i[0]}o(PY,"resolveAliasFragment");var FY=/^([a-z][a-zA-Z0-9]*)__([A-Za-z0-9_]+)$/,DY="https://exocortex.my/ontology/";function NY(n,e){let t=FY.exec(e);if(t){let i=`<${DY}${t[1]}#${t[2]}>`;return n.replace(/\?value\b/g,i)}let r=e.replace(/\\/g,"\\\\").replace(/"/g,'\\"');return n.replace(/\?value\b/g,`"${r}"`)}o(NY,"bindValueLiteral");function vD(){return new Te("find").description("Find vault assets via SPARQL \u2014 outputs file paths one per line (RFC 8e83442b T1.1)").option("--vault <path>","Path to Obsidian vault",process.cwd()).option("--also <path>","Additional vault to include (repeatable)",CY,[]).option("--sparql <query>","SPARQL SELECT query (must bind ?path)").option("--class <value>","Filter by class label via find__Alias 'class' (e.g. ems__Task)").action(async n=>{de.setFormat("text");try{if(n.sparql&&n.class)throw new Bt("--sparql and --class are mutually exclusive","Pass either a raw --sparql query or a find__Alias-backed flag like --class");if(!n.sparql&&!n.class)throw new Bt("one of --sparql <query> or --class <value> is required",'exocortex find --class ems__Task OR exocortex find --sparql "SELECT ?path WHERE { ... }"');let e=(0,Gg.resolve)(n.vault);if(!(0,hE.existsSync)(e))throw new Re(e);let t=new kt(e),i=await new Wn.NoteToRDFConverter(t).convertVault(),s=n.also||[];for(let w of s){let T=(0,Gg.resolve)(w);if(!(0,hE.existsSync)(T))throw new Re(T);let R=new kt(T),V=await new Wn.NoteToRDFConverter(R).convertVault();i=i.concat(V)}let a=new Wn.InMemoryTripleStore;await a.addAll(i);let c;if(n.class){let w=await PY(a,"class");if(w===null)throw new Bt('No find__Alias with exo:Asset_label "class" was found in the vault',"Seed a find__Alias asset (label=class) or fall back to exocortex find --sparql");c=`SELECT ?path WHERE { ${NY(w,n.class)} }`}else c=n.sparql;let l=Hl(c);l=eo(l);let u=new Wn.ExoQLParser,f=to(Za(e));for(let w of s){let T=to(Za((0,Gg.resolve)(w)));for(let[R,$]of T)f.has(R)||f.set(R,$)}f.size>0&&u.setVaultPrefixes(f);let d=u.parse(l),p=new Wn.ExoQLAlgebraTranslator().translate(d);p.type!=="construct"&&(p=new Wn.AlgebraOptimizer().optimize(p));let S=await new Wn.ExoQLQueryExecutor(a).executeAll(p),v="obsidian://vault/";for(let w of S){let R=w.toJSON().path;if(typeof R!="string"||!R.startsWith(v))continue;let $=R.slice(v.length),V;try{V=decodeURIComponent($)}catch{V=$}process.stdout.write(V+`
765
765
  `)}}catch(e){de.handle(e),process.exit(5)}})}o(vD,"findCommand");var mE=require("fs"),gE=require("path"),Xe=oe(Sr());var ID=oe(Sr()),qt=oe(TD());var AD="obsidian://vault/";function zY(n){let e=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;return{async resolveTargetPath(t){if(!t)throw new Error("Cannot resolve empty targetIRI to a vault path");let r=t;if(r.startsWith(AD))r=decodeURI(r.slice(AD.length));else if(e.test(r)){let i=await n.findFileByUID(r);if(!i)throw new Error(`No vault file found for UID: ${r}`);r=i}if(r.endsWith(".md")||(r=`${r}.md`),!await n.fileExists(r))throw new Error(`Cannot resolve target file for IRI "${t}" (tried "${r}")`);return r}}}o(zY,"createCliPathResolver");var HY=["createAsset","openFile","sparqlSelect","getActiveFileIRI","getActiveFilePath","trashFile","duplicateFile"],pE=class extends Error{constructor(t){super(`Service "${t}" is not implemented in the CLI (no-op stub). dyncommand exec on this service_call grounding cannot change vault state. See CLI parity issues #2865-#2868 for port status.`);this.serviceId=t;this.name="CliServiceNotImplementedError"}static{o(this,"CliServiceNotImplementedError")}};function xD(n){return{async execute(){throw new pE(n)}}}o(xD,"notImplementedService");function CD(n,e){for(let t of HY)n.register(t,xD(t));for(let t of["updateProperty","removeProperty","setStatus"])n.register(t,xD(t));if(e){if(e.fsAdapter){let t=new ID.FrontmatterService,r=zY(e.fsAdapter);n.register("updateProperty",(0,qt.createUpdatePropertyService)(e.fsAdapter,t,r)),n.register("removeProperty",(0,qt.createRemovePropertyService)(e.fsAdapter,t,r)),n.register("setStatus",(0,qt.createSetStatusService)(e.fsAdapter,t,r))}n.register("createRelatedTask",(0,qt.createCreateRelatedTaskService)(e.vaultAdapter,e.genericAssetCreationService)),n.register("createRelatedProject",(0,qt.createCreateRelatedProjectService)(e.vaultAdapter,e.genericAssetCreationService)),n.register("archiveAsset",(0,qt.createArchiveAssetService)(e.vaultAdapter,e.archiveAssetService)),n.register("planForEvening",(0,qt.createPlanForEveningService)(e.vaultAdapter,e.taskStatusService)),n.register("cleanProperties",(0,qt.createCleanPropertiesService)(e.vaultAdapter,e.propertyCleanupService)),n.register("renameToUid",(0,qt.createRenameToUidService)(e.vaultAdapter,e.renameToUidService)),n.register("repairFolder",(0,qt.createRepairFolderService)(e.vaultAdapter,e.folderRepairService)),n.register("fixMissingLabel",(0,qt.createFixMissingLabelService)(e.vaultAdapter,e.fixMissingLabelService))}}o(CD,"populateCliServiceRegistry");var QY=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function KY(){if(process.stdin.isTTY)return[];let n=[];for await(let t of process.stdin)n.push(t);return Buffer.concat(n).toString("utf-8").split(`
766
766
  `).map(t=>t.trim()).filter(t=>t.length>0)}o(KY,"readStdinLines");function zg(n){if(n&&typeof n=="object"&&"value"in n){let e=n.value;return typeof e=="string"?e:String(e)}return String(n)}o(zg,"nodeValue");async function YY(n,e){let t=new Xe.IRI("https://exocortex.my/ontology/exocmd#Command_cliName"),r=await n.match(void 0,t,void 0),i=[];for(let s of r)if(zg(s.object)===e){let l=zg(s.subject).match(/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.md$/i);l&&i.push(l[1])}if(i.length===0)return null;if(i.length>1)throw new Bt(`Ambiguous cliName "${e}" \u2014 resolves to ${i.length} commands: ${i.join(", ")}`,"Use the UUID directly: exocortex apply <uuid> <path>");return i[0]}o(YY,"resolveSlugToUuid");async function XY(n,e){let t=new Xe.IRI("https://exocortex.my/ontology/exocmd#Command_destructive"),r=await n.match(void 0,t,void 0);for(let i of r)if(zg(i.subject).includes(e)){let a=zg(i.object);if(a==="true"||a==="True")return!0}return!1}o(XY,"isDestructive");async function JY(n,e,t,r,i){let s=(0,gE.resolve)(n,r);if(!(0,mE.existsSync)(s))return console.error(`\u274C Target file not found: ${r}`),!1;let c=await new Xe.CommandResolver(e).loadCommand(t);if(!c)return console.error(`\u274C Command with UID "${t}" not found.`),!1;if(await XY(e,t)&&!i.dryRun&&!i.yes)return console.error(`\u274C Command "${c.name}" is marked destructive. Add --dry-run to preview, or --yes to apply.`),!1;let u=(0,Xe.vaultPathToIRI)(r);if(!await new Xe.PreconditionEvaluator(e).evaluate(c.precondition,u))return console.error(`\u274C Precondition not satisfied for "${c.name}" on "${r}".`),!1;if(i.dryRun)return console.log(`\u{1F50D} Dry-run: would apply "${c.name}" to "${r}" (precondition passed).`),!0;let h=new Xe.ServiceRegistry,p=new kt(n),y=new Xe.GenericAssetCreationService(p),S=new Xe.ArchiveAssetService(p),v=new Xe.PropertyCleanupService(p),w=new Xe.FixMissingLabelService(p),T=new Xe.RenameToUidService(p),R=new Xe.FolderRepairService(p),$=new Xe.TaskStatusService(p,new Xe.EffortStatusWorkflow,new Xe.StatusTimestampService(p)),V=new pr(n);CD(h,{vaultAdapter:p,fsAdapter:V,genericAssetCreationService:y,archiveAssetService:S,taskStatusService:$,propertyCleanupService:v,fixMissingLabelService:w,renameToUidService:T,folderRepairService:R});let ne=new Xe.GroundingExecutor(V,V,h),k;if(i.input)try{let O=JSON.parse(i.input);if(typeof O!="object"||O===null||Array.isArray(O))throw new Error("must be a JSON object");k=O}catch(O){let D=O instanceof Error?O.message:String(O);return console.error(`\u274C --input: invalid JSON object (${D})`),!1}let U=await ne.execute(c.grounding,u,r,k);if(U.success){let O=c.successMessage??`Applied "${c.name}" to "${r}".`;return console.log(`\u2705 ${O}`),!0}else return console.error(`\u274C "${c.name}" failed on "${r}": ${U.error}`),!1}o(JY,"executeOnTarget");function RD(){return new Te("apply").description("Apply an exocmd__Command to one or more vault assets (RFC 8e83442b T1.2). Pass a path arg or pipe paths via stdin.").argument("<cmd>","Command UUID or cliName slug").argument("[path]","Vault-relative path to target asset (omit to read paths from stdin)").option("--vault <path>","Path to Obsidian vault",process.cwd()).option("--dry-run","Preview without writing").option("--yes","Skip destructive-command confirmation").option("--input <json>","JSON userInput for service_call groundings").action(async(n,e,t)=>{de.setFormat("text");try{let r=(0,gE.resolve)(t.vault);if(!(0,mE.existsSync)(r))throw new Re(r);let i=new kt(r),a=await new Xe.NoteToRDFConverter(i).convertVault(),c=new Xe.InMemoryTripleStore;await c.addAll(a);let l;if(QY.test(n))l=n;else{let h=await YY(c,n);h||(console.error(`\u274C No command found with UUID or cliName "${n}".`),process.exit(3)),l=h}let u;if(e)u=[e];else if(u=await KY(),u.length===0)throw new Bt("No target path provided and stdin is empty.","exocortex apply <uuid> <path> OR exocortex find ... | exocortex apply <uuid>");let f=0,d=0;for(let h of u)await JY(r,c,l,h,t)?f++:d++;u.length>1&&console.log(`
767
- \u{1F4CA} Applied to ${f}/${u.length} target(s) (${d} failed).`),d>0&&process.exit(5)}catch(r){de.handle(r),process.exit(5)}})}o(RD,"applyCommand");function OD(n){let e=new Te;return e.name("exocortex").description("CLI tool for Exocortex knowledge management system").version(n??"16.6.1"),e.addCommand(vD()),e.addCommand(RD()),e.addCommand(tF()),e.addCommand(sF()),e.addCommand(RF()),e.addCommand(cF()),e.addCommand(lF()),e.addCommand(pF()),e.addCommand(FF()),e.addCommand(VF()),e.addCommand(qF()),e.addCommand(WF()),e.addCommand(zF()),e.addCommand(nD()),e.addCommand(iD()),e.addCommand(fD()),e.addCommand(wD()),e}o(OD,"createProgram");OD().parse();0&&(module.exports={createProgram});
767
+ \u{1F4CA} Applied to ${f}/${u.length} target(s) (${d} failed).`),d>0&&process.exit(5)}catch(r){de.handle(r),process.exit(5)}})}o(RD,"applyCommand");function OD(n){let e=new Te;return e.name("exocortex").description("CLI tool for Exocortex knowledge management system").version(n??"16.6.3"),e.addCommand(vD()),e.addCommand(RD()),e.addCommand(tF()),e.addCommand(sF()),e.addCommand(RF()),e.addCommand(cF()),e.addCommand(lF()),e.addCommand(pF()),e.addCommand(FF()),e.addCommand(VF()),e.addCommand(qF()),e.addCommand(WF()),e.addCommand(zF()),e.addCommand(nD()),e.addCommand(iD()),e.addCommand(fD()),e.addCommand(wD()),e}o(OD,"createProgram");OD().parse();0&&(module.exports={createProgram});
768
768
  /*! Bundled license information:
769
769
 
770
770
  reflect-metadata/Reflect.js:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitelev/exocortex-cli",
3
- "version": "16.6.1",
3
+ "version": "16.6.3",
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": {